2011/03/06

[linux]シリアル通信の設定

RC-S620/Sでの開発はやらない!と書いたものの、中途半端なのはいかん。
Androidで動くかどうかくらいは見ておこうか。
しかしそうなると、やることが多くなる。。。
弱気なので、Linuxで動くことの確認、にしよう。


いくつかの修正が必要だったが、動いた。
必要な修正のほとんどは、シリアル通信についてだ。
今回はこのような設定で動いた。

struct termios ter = {0};
ter.c_iflag = IGNPAR;
ter.c_cflag = CLOCAL | CS8 | B115200 | CREAD;
tcsetattr(s_fd, TCSANOW, &ter);


受信がなかなか動いてくれなかったのだが、CREADしてなかったせいだと思う。
思うのだが、削ってみても動くようになった。
設定が残っているのか?

いつも忘れてしまうのが、カノニカル、非カノニカルの意味。
おおざっぱに言うと、リターンを押すまで出力しないのがカノニカルで、文字入力する度に出力するのが非カノニカル、ということになろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。