原因は、気づけば大したことがないのだが、シリアル通信設定が間違っていた。
stty -F /dev/ttyACM0 -a
speed 9600 baud;stty: /dev/ttyACM0
line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl
echoke
これを修正して
stty -F /dev/ttyACM0 -echo
実行してみると、問題なく動作した。
なので、プログラムを修正Orz.
newtio.c_lflag = ~ECHO;
これで目的の動作になった。
その他
ドライバのクロスコンパイルのやり方らしきものを見つけた。
気になる。
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=70462
0 件のコメント:
コメントを投稿