1

POSIX 呼び出し (より具体的には、Linux 2.6.x で C で記述) を使用して、半二重シリアル接続から読み書きするように求められます。その特定のモデルに関する詳細な情報を見つけるのに少し苦労しています (ほとんどのページは全二重に集中しています)。読むときに少し異常があるので、ここで何か間違ったことをしている可能性があるかどうかを確認したいと思いました。

半二重シリアル接続では、読み書きしかできません。これは問題ではありません。なぜなら、要求されていない受信データが回線上にないからです。パッケージが (読み取りのために) 私に送られるのは、事前に要求したときだけです。

したがって、私のコードは、何かを送信する必要があるたびにポートに write() することです。このデータが応答になる場合 (事前にわかっていること)、単純に read() します。私が呼び出している特別な関数はありませんが、そうすべきでしょうか? そして、このアプローチは正しいですか?すなわち、行が空いているときに書く?

4

1 に答える 1

0

Linux カーネルのソース ドキュメントを読むと、シリアル ドライバーに関するテキスト ファイルがあるかもしれません。そうでない場合は、実際のドライバー コードを読んで、それが何をするかを確認できます (思ったほど怖くはありませんが、約束します!)

于 2009-01-07T00:41:33.100 に答える