1

私のソフトウェアがシリアル接続を介してレシート プリンターと通信しているときに、無意味でノイズの可能性があるメッセージが大量に表示されます。何が起こっているのかを特定するのを手伝ってくれる人はいますか? これに返信する必要がありますか?無視して進めてもいいですか?

構成情報:

私のコンピューター:

{'baudrate': '9600', 'flowcontrol': 'XON/XOFF', 'port': 'CNCB0'}
Serial<id=0x17ab1b0, open=True>(port='\\\\.\\CNCB0', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=0.01, xonxoff=1, rtscts=0, dsrdtr=0), printer: Serial<id=0x17ab290, open=True>(port='\\\\.\\COM1', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=0.01, xonxoff=1, rtscts=0, dsrdtr=0)

プリンター:

{'parity': 'E', 'baudrate': '9600', 'bytesize': '8', 'brand': 'Epson', 'stopbits': '1', 'flowcontrol': 'XON/XOFF', 'interface': 'Serial', 'port': '1'}

私のコンピューターは、プリンターを送信することから始まります

'\x1bv' 

そして、コンピューターがプリンターを送信するという一定のループがあります

'\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv\x1bv' 

プリンターは次のように応答します

'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4

2 に答える 2

1

意味がないように見える多くのメッセージに遭遇しています

シリアル非同期回線を介して総ガベージを受信することは、通常、ボーレートの問題です。

シリアル非同期回線を介してランダムなガベージを受信することは、通常、パリティの不一致などのフレーミングの問題です。

お使いのコンピューター

パリティ='N'

プリンタ

'パリティ':'E'

ERGOで、パリティ設定(なしと偶数)とフレームサイズ(10ビットと11ビット)が一致していません。

于 2012-10-06T02:23:43.197 に答える
0

考えられる原因はいくつかあります。まず、良いデータを取得できますか? それとも全部ゴミ?それがすべてゴミである場合、ボーレートの不一致は一般的な問題です。それ以外にも、確認すべき点がいくつかあります。

  1. 通信設定を確認します。ソフトウェア フロー制御を指定しています。これは正しいですか?
  2. ケーブルおよび/または接続を確認します。ケーブルは大丈夫ですか?コネクタはどうですか?ケーブルの長さは?近くに強い騒音源はありませんか?
  3. プリンターをコンピューターにどのように接続していますか? それは本当のCOMポートですか?それとも、USB から RS-232 への変換ケーブルの 1 つですか? ラップトップまたはデスクトップに接続していますか? 多くの場合、ラップトップは真の +/-12V RS-232 信号ではなく、+/- 5V などを使用して RS-232 信号を「偽装」します。その結果、通信はノイズの影響を受けやすくなります。
于 2012-10-05T17:00:29.613 に答える