3

シリアル ポートからデータ ストリームを読み取り、受信データを解析する、C で書かれた小さなプロジェクトを完成させました。このソフトウェアは POSIX システム (termios を使用) 用に書かれており、標準的な手順に従ってシリアル I/O を操作します。

  1. open() を使用してシリアル デバイスを開く
  2. 通信パラメータ(termio)の設定
  3. ファイル ハンドル (fcntl) にブロッキング モードを設定する
  4. シリアル インターフェイスで read() を実行します。
  5. 完了したら、シリアル インターフェイスで close() を実行します。

ソケット部分以外はそのままANSI Cです。

私の質問は、Windows プラットフォームでコードを機能させるにはどの程度の作業が必要かということです。移植は私が書いたものではありません。移植に興味があるかもしれない他の人に指示を与えたいだけです(つまり、些細なこと、それほど些細なことではない、狂気を誘発するあなたの目を引き裂きます)。

また、誰かが「Windows Services for UNIX」を備えた Windows を使用している場合、コードを変更せずに使用できますか?

だから、誰かがこれを経験したことがあれば、教えてください。

4

1 に答える 1

3

とても簡単にできるはずです。名前は大きく異なりますが、一連の呼び出しと概念は非常に似ています。

探しているのは、ボーレート、ストップビットなどを設定するためにSetComState()関数で使用する必要があるDCB構造体です。次に、 SetCommTimeouts()を使用し、 COMMTIMEOUTS構造体でタイムアウト値を設定して、後続の読み取り呼び出しをブロックします。

これは、きれいなPDFとしての短い紹介です。(バックアップ)

于 2012-02-08T13:25:10.273 に答える