一部のシリアルLinuxデバイスである/ dev / ttySに格納されているUARTデバイスはバイトをどのように受け取りますか?どうやって読むことができますか?
手順は何ですか?新しいデータが届いたら、デバイスファイルを閉じる必要がありますか?
ベストアンサー1
受信したバイトはどのように保存されますか?
ユーザー空間の観点から見ると、まったく保存されません。
どうやって読むことができますか?
ただ読んで欲しいなら大丈夫ですcat /dev/ttyS...
。シリアルインターフェイスを処理する方法の詳細については、通常、このページとインターネットからの数多くの回答やコメントから数秒で確認できます。いくつかのアイデア:serial
、、、および同様のツール。この問題screen
minicom
cutecom
ここもっと面白いです。
手順は何ですか?
とても簡単です:
- デバイスの電源を入れる
- データを待っています
- 完了したら閉じます。
/dev/ttyS*
これは文字デバイスであるため、ファイルシステムの通常のファイルとは異なる動作をするため、新しい情報を「記録」するために更新または閉じてから再度開く必要はありません。開発ファイルの目的は、ユーザー空間とカーネル空間の間の通信方法を提供することです。
詳しく説明すると、プロセスは次のようになります。データは、電気パルスの形でハードウェア、シリアルインタフェースに到着します。ハードウェアは、電気ショックをデジタル信号に変換し、ハードウェア管理を担当するハードウェア抽象化レイヤ(HAL)/カーネルドライバまたはコントローラに転送します。これはバイトに変換され、使用されている転送速度とプロトコルに応じてさらなる処理のためにバッファリングされます。その後、カーネルはバッファーを/dev
フォルダー内のノードとしてユーザースペースに表示される文字デバイスにフラッシュします。