Cを使用してシリアルポートからデータを読み取るにはどうすればよいですか?モデムにデータをもう一度転送しますか? 私はシリアル通信にRS 232ケーブルを使用しています...シリアルポートからデータを読み取る
答えて
まず第一に、これはあなたが使用するOSに非常に依存しています。
* nixタイプでは、通常、通常のファイル(たとえば/ dev/ttyS0)のようにシリアルポートデバイスを開き、読み書きを開始します。 Windowsの場合、Windowsのシリアル通信が本当の悪夢になる可能性があるので、信頼できるライブラリを検索するようアドバイスします。さらに、古いバージョンのWindowsとそれ以外のバージョンの間にはいくつかの違いがあるかもしれません。
個人的には、私はwxWidgetsユーザーですので、私はwxCTBを使用しています。 使用しているIDEに合ったライブラリを探す必要があります。
チャージリンクのいくつかの無料;) www.robbayer.com/files/serial-win.pdf www.lookrs232.com/com_port_programming/
埋め込みには該当しません(埋め込みタグ付き)。 –
埋め込み*は通常LinuxまたはWinCEを意味します。 –
両方のシリアルポートを扱うに関する有用な情報がたくさんPCとワイヤーのデバイス側の端は、Jan Axelsonの本Serial Port Completeのサイトにあります。
ポートとの実際の対話は、プラットフォーム固有のものです。ほとんどのフレーバーの* nixでは、/dev/ttya
という名前のデバイスを開き、ポートの読み取り、書き込み、設定にはread()
,、ioctl()
を使用します。 Windowsでは
、あなたはCreateFile()
機能をCOM1
(またはいくつかのフレーバーで\\.\COM1
)という名前のファイルを開いて、それが設定され、SetCommState()
とDCB
構造などの機能に満足してます。詳細は、あなたが* nix上で行う必要のあるものとは大雑把に似ていますが、完全に異なって構成されています。 COMポートの設定と使用に関する議論は、MSDNにあります。
埋め込みデバイスでは、UARTのハードウェアレジスタに直接アクセスするか、RTOSと対話します。いずれにしても、デバイス側のコードを広く移植可能にする方法は本質的にありません。
Windowsの土地では、すべての魔法を起こすライブラリを見つけた方がよいでしょう。
私はハードウェア(ブートローダ、設定、テスト)と話すための小さなユーティリティをまとめてBorland C++を使用しています.DelphiとBCCの両方で動作し、オープンソースであるTurboPower Async Professional Libraryに非常に満足していますパブリックライセンス1.1)。
コンパイラには、デバイス内または外部メモリまたはIOマップデバイス内でシリアルポート機能を実装するために使用されるハードウェアレジスタにアクセスするためのメカニズム(通常はコンパイラ固有)があります。これらのレジスタ定義は、多くの場合、ツールまたはプロセッサの製造元によって提供されます。シリアルポートレジスタにコンフィギュレーション制御値を書き込んで、動作モードを設定し、次に受信バッファレジスタからデータを読み出す場合があります。
MSP-430メーリングリストでは簡単ですが、USARTのプログラミングに関する質問が最も一般的なトピックです。
一般的な組み込みCコンパイラでは、コンパイラ指令またはボーレートなどのパラメータを制御し、UART(または他のI/Oハードウェア)をストリームに関連付けるパラメータを持つステートメントがあります。ストリーム名(複数のシリアルポートがある場合)を指定するか、またはデフォルトを使用することができます。次に、通常のC文字ルーチンでシリアルポートにアクセスすると、各文字を受け取ると割り込みが発生します。したがって、割り込みルーチンは各文字を読み込み、それをバッファに入れます。
- 1. NodeJsシリアルポートからデータを読み取る
- 2. JSコードからシリアルポートを読み取る
- 3. jsonオブジェクトをシリアルポートから読み取る
- 4. シリアルポートからリアルタイムデータを読み取る
- 5. シリアルポートからデータを読み取る方法は? Python
- 6. FreeRTOSのシリアルポートからデータを読み取る
- 7. Raspberry Pi + MonoDevelopのシリアルポートからデータを読み取るには?
- 8. vb.netのシリアルポートからデータを読み取るには?
- 9. シリアルポートからPythonのファイルにASCIIデータを読み取る方法
- 10. シリアルポートからのデータの読み取りとリアルタイムでのプロット
- 11. C#ファイルが見つからない(シリアルポートから読み取る)
- 12. javaのjsscを使ってシリアルポートからデータを読み取る方法は?
- 13. シリアルポートからデータを読み込んで送信する
- 14. シリアルポートからデータを読み込んで比較するC#
- 15. vxworksシリアルポート読み取りタイムアウト
- 16. c#シリアルポートはarduinoからデータを読み取ることができません
- 17. カーネルモード(Linux)でシリアルポートからデータ(文字)を読み取る方法は?
- 18. シリアルポートReadLine対ReadExistingまたはシリアルポートからデータを正しく読み取る方法
- 19. cでシリアルポートからフルパケットデータを読み取る方法
- 20. Arduino Python 3シリアルポートを読み取る
- 21. Rebol3でシリアルポートを読み取る
- 22. シリアルポートの読み取りをブロックする
- 23. C#:シリアルポートを読み取る - BytesToRead
- 24. python複数のシリアルポートを読み取る
- 25. シリアルポートからの読み取り中にスタックオーバーフローが発生する
- 26. シリアルポートからデータを読み込み、最新の行を記録する
- 27. シリアルポートからコードを読み取っていません
- 28. Ruby on Railsアプリケーションのシリアルポートからの読み取りがハングアップ
- 29. android-serialport-apiシリアルポートからの読み取り
- 30. node.jsシリアルポート読み取りデータの解析問題
どのオペレーティングシステムですか? –
どのハードウェア/プラットフォームですか? – DaveR
この質問にはさらに詳しい情報を追加する必要があります。 – Johan