/ /シリアルプロトコルがCからPythonへの移植コードを発行 - python、serial-port、protocols、pyserial

シリアルプロトコルの問題は、CからPythonへのコード移植 - Python、シリアルポート、プロトコル、pyserial

私は "C"とシリアル通信の複雑さ私は私ができるこの問題についてのすべての情報を提供しようとするでしょう。もし私が提供するべきである追加の何かがあれば私に知らせてください。

通信の移植中です私の研究室が開発しているPythonアプリケーションで使用するための、CからPythonまでのシリアルデバイス(マイクロマニピュレータ)用のプロトコル。同社は、デバイスとのインタフェースに使用される小さなコマンドラインユーティリティのソースコードを提供しています。このロジックを使用して、私たちのPythonモジュールはCRCを含む正しい/同一のデータブロックを生成することができます。ただし、データブロック(Cコードによって生成されたデータブロックと同じ)がPythonコードによって送信された場合、デバイスからの応答はありません。シリアルポート監視プログラム(Free Serial Port Monitor)を使って、私はPythonとデバイス間の通信がある会社で提供されているユーティリティと異なることに気づいた。

これが提供されたログのスクリーンショットです。これは正しく機能します。 1つのデータブロックの送信とその応答、2つ目のデータブロックの送信と応答の開始を示しています。

ユーティリティからのログ例

そして、これが私たちのPythonコードで何が起こるかのスクリーンショットです;あなたが見ることができるようにそれが無応答でデータブロックを送る。

pythonからのログ例

役に立つかもしれない他の情報に関しては、私は ""を使用しています標準のPythonシリアルライブラリデータブロックの構造は、STXで始まりETXで終わる14個のASCII文字です。最初の8文字は機能、アドレス、値などに対応し、最後の4文字はCRCです。

私が言ったように、私はこれでちょっとした習慣があり、どこから始めればいいのか本当にわかりません。私がこれを理解するのを助けるかもしれないどんなアドバイスまたは援助またはリソースでも大いに感謝されるでしょう、そして私が提供するべきであるより多くの特定の情報があるかどうか私に知らせてください!

http://reentry.mit.edu/extserialport.c

http://reentry.mit.edu/extserialport.h

回答:

回答№1は0

私はそのwin32serialを見つけました。pyserialに同梱されているpyは、フロー制御やRTSを含めて、Cのコードから1行ずつ設定をコピーした後、うまくいったようなWindows APIのシリアル設定に直接(bindings?)を提供します。ご協力ありがとうございます。