2011-09-12 19 views
1

PCのシリアルポートを使用して外部デバイスからLFおよびCRを含むASCIIデータを読み込み、Pythonを使用してファイルに書き込む必要があります。シリアルポートからPythonのファイルにASCIIデータを読み取る方法

私はちょうどPythonの学習を始めましたが、ポートを開くことができましたが、実際の読み込み部分に問題があります。なぜデータが終了したかを指定する方法がわからないからです。誰かがいくつかのコード例を参考にしてもらえますか?

ポートの設定は以下のとおりです。pyserialサイトへオーバーで

Serial = 'COM3', baudrate=9600, bytesize=8, parity='N', stopbits=1 
+1

「データがいつ終了するかを指定する方法がわかりません」これはPythonのことではありません。それはあなたがあなたの "外部デバイス"について質問しなければならない質問です。デバイスが完了したことをどのように知っていますか?もし誰かがバイトストリームを出力したら、それが正しく終了したことを知っていますか? –

+0

私はS.Lottに同意します。あなたはデータの中で何を期待しているかを示すスペックを持っていますか?たぶんそこにいくつかの手がかりがあります。 –

+0

ここにあなたのアカウントを登録するだけです。これは、あなたが訪問し、返信を投稿するたびに重複するアカウントを作成する問題を防ぎます。同じアカウントを使用すると、コメントが正しく機能します。あなたの重複アカウントをマージしました。 –

答えて

0

頭やハッキングを開始!ここにはexamplesがあります。

ご質問の点では、readline()の方法をお試しください。必要に応じて、書き込む文字列の最後にCRLFを追加することができます。取得した各行の後にファイルに書き込むことができます。

デバイスが終了し、ファイルを閉じる必要があるときは、デバイスに依存します。そのドキュメントを参照してください。

+0

残念なことに、ASCIIデータを送信するデバイスがあり、シリアルポートから読み取るようにするデバイスがあると言われていましたが、デバイスがデータを送信していないときにポートタイムアウトを許可する方法を回避する方法は、私はこのコンピュータにシリアルポートを持っていないのでcom0comでテストしますが、ポートを3秒にタイムアウトに設定しても機能しませんし、コードがそこに座ってポートを永遠に読み取るので、それが必要な部分です助けて、ありがとう。 – Sam

関連する問題