1

すべての文字記号を使用して通信するデバイスがあります。転送されるメッセージの固定長を知っており、termio.h を使用してこのデバイスと通信しています。問題は、signs 配列の 1 つが null 記号 (\0) の場合、メッセージ全体を読み取れないことです。この時点で読み取り機能が停止し、メッセージが不完全です。(関数 write() を使用して) 必要な数の null 記号を記述できるため、これは奇妙です。すべての文字列が null で終わると想定されていることはわかっていますが、これらの null 記号を読み取る必要があります。それを行う方法はありますか? ありがとう!

4

1 に答える 1

1

以下の非標準モードでシリアルポートを開きます

options.c_lflag &= ~ICANON;

このフラグがない場合、デフォルトでシリアル ポートは標準モードで開かれます。

非標準モードの方法では、「生の」バイトを受け取ります。これは、必要な場合に必要なものだと思います

各種キャラクター募集中です。

于 2013-08-09T06:29:17.343 に答える