Ubuntu 16.04 LTSを実行しているJetson開発キットと通信するためにPC(Windows 10)を使用しています。 PCにはUARTを介してデータを送信するCプログラムがあり、Ubuntuはそのデータを読み取るためにCプログラムを使用する必要があります。
私の質問は、PCが生のバイトを作成した後、私のttyファイル(/ dev / ttyTHS2)の内容をどうすればよいですか?書き込み操作後に内容が消去されますか?ファイルを追加してカーソルを移動しますか? ttyファイルが消去されるまで特定の瞬間に保存できる上限はありますか?
オンラインで検索しても答えが見つかりませんでしたので、助けてくれてありがとう。
ベストアンサー1
私の答えがより意味があるように、別の順序で答えています。
[ttyへの書き込み]はファイルを追加してカーソルを移動しますか?
まさか。 ttyはブロックデバイスではありません。特徴機器。デバイスファイルにシングルバイトを書き込むと、最終的にUARTが有効になりビットを転送します。複数のバイトに対してこのプロセスを繰り返します。
ttyファイルが消去されるまで特定の瞬間に保存できる上限はありますか?
はい、帽子があります。バッファはハードウェアとソフトウェアに存在します。 tty に書き込む速度が転送速度より速い場合、バッファがいっぱいになり、ワークブロックが書き込まれます。正確な寸法はよくわかりません。バッファサイズは1になると予想されます(一度に1バイトしか書き込めません)。
PCがいくつかの生のバイトを書き込んだ後、私のttyファイル(/dev/ttyTHS2)の内容は何ですか?
私が知る限り、ttyは基本的にエコーされません。 tty ファイルから読み取るとバイトが読み込まれるまで操作がブロックされます。受け取った外から。
ttyはバイトだけを知っています。 「生」または「調理済み」バイトはありません。
書き込み操作後に内容が消去されますか?
通常、書き込みバッファから読み込まれないため、これは実際には重要ではありません。
これらの答えはすべてIOCTLで設定されたttyを想定しています。