2016-07-12 8 views
0

私はPateerialを使ってNovatech ddsm周波数シンセサイザボードを制御するGUIアプリケーションを作成しています。シリアルポート(パテ)に接続されたコマンドプロンプトから別のコマンドのリストを送信できます。正しいコマンドを送信すると、「OK」が返されます。私は私のシリアルポートに何かを書いた後、私のpythonスクリプトが「OK」を見るようには思えません。それは非常に長いですが、私はこの仕事を得ることができないので、これは私の実際のコードではありません、次のいずれかシリアルポートから戻り値を取得する(python)

import serial 
    ser = serial.Serial(
     port='COM3', baudrate=19200, bytesize=8, 
     parity='N',  
     stopbits=1, timeout=1 
     ) 
    command = 'f0 100' 
    ser.write(command.encode()) 
    msg = ser.read(64) 
    print(msg) 

私は戻って取得しています、これを実行している:

b'f0 100' 
+0

パテで手動でデバイスを使用する場合は、コマンドの最後にEnterキーを押す必要がありますか?もしそうなら、同じことをする必要があります。コマンド文字列の最後に '' \ r''を入れてください。 – jasonharper

答えて

0

は、あなたが電話をかけてみまし2回、またはreadline()を何回か使用しますか?動作している場合は、戻り値== b""(それ以上の応答がない場合に得られる行)まで実行されるwhileループを作成できます。お役に立てれば。

0

最後に\ r \ nを追加する必要があるかもしれません。そうかもしれません!私はATコマンドで作業します。 \ r \ nは、gsmモジュールの処理のためにATコマンドを含むコマンドが多すぎると使用されます。また、jasonharper precisedとして、ほとんどの端末でenterキーを押す必要があります。これはよく使用されるコマンドの標準です。ほとんどの場合、コマンドがどこで終わるか正確に。

関連する問題