シリアルポートからデータを読み取る

シリアルポートからデータを読み取る

ちなみに私はbusyboxを運営しています。以下を使用してttyS1にデータを送信できます。

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo
echo -en 'data here' > /dev/ttyS1

しかし、読もうとするときは、次のようにします。

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo
cat /dev/ttyS1

ただし、何のメッセージもなくプログラムが終了します。私も試してみましたがcat < /dev/ttyS1ダメです。

データが入っていることを示すLEDインジケータがあるため、データがこのポートに送信されていると確信しています。接続設定は、115200ボーレート、8ビット、偶数パリティ、1ストップビットに等しく設定されます。

答え1

だから別のフォーラムで答えを見つけました。私はそれをここに置き、デフォルトでポートを読み続けるためにタイムアウトとwhileループを追加しました。

stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb -echo time 3 min 0
while [ true ]; do
   cat /dev/ttyS1
done

それはすべてです。

関連情報