1
ARM Linux組み込みデバイスで実行されているシリアルポートをリスンするCプログラムで作業しています。組み込みデバイスでtermiosによってシリアルデータが切り捨てられる
他のデータセットは正常に動作しますが、常に特定のデータセットを送信すると、セットの先頭が切り捨てられます。私はこれを切り捨てるテキストETXの終わりを使用している一定のいくつかのtermios、によって引き起こされるかなり一定であることが十分にデバッグしている
Device -->^(094) { (123) <STX> (002) <BS> (008) <STX> (002) <NUL> (000) <NUL> (000) <STX> (002) <SOH> (001) <ETX> (003)
:何切り捨てられますことは、次の(ターゲット上で実行されているslsniffプログラム出力)です。
今私がダウンに午前:
struct termios t;
t.c_lflag &= ~(ICANON | IEXTEN | ECHO);
t.c_iflag &= ~ICRNL;
t.c_cc[VMIN] = 1; /* Character-at-a-time input */
t.c_cc[VTIME] = 0; /* with blocking */
セットの区切り文字は、すべてのケースで正常に動作するようですCRの0x0Dが、です。
大変助かりました。
敬具、 バート