デバイスに1バイト( "\ x2b")を送信し、1エコーバイト+ 3バイトのデータ( "\ x2b \ x ?? \ x ?? \ x ??")私はエコーバイトを取り除くために.replace( "2b"、 ""、4)を使用しています。int(16)に受信された3バイトの3バイトを変更し、別々に呼び出すことができる3つの異なる変数に名前を付ける必要があります一度に1つずつ計算します。ここまで私がこれまで持っていたことがあります。Pythonのpyserial変数
import serial
import os
ser = serial.Serial(port="COM17", baudrate=9600)
ser.open()
ser.write("\x2b")
print int(ser.readline(4).encode("hex").replace("2b", "", 4), 16)
ser.close()
os.system("pause")
:
(最後の行):
あなたはPythonでシンプル
input
呼び出し、代わりに<enter>
を押すようにユーザに尋ねるを追加することができます。このコードの出力が何であるべきか、ポートに書き込まれる内容と印刷される内容を指摘してください。 – kabanus私はそれを送信しているデバイス( "0x2b")を送信しています( "0x2b")+それは毎回異なる3バイトを送信します。私は3バイトをint(16)の数値に変更し、それらをいくつか列挙して、これらの3つの数値を別々に呼び出して計算を行う必要があります。 –
ポートから4バイト、元の書き込みを3バイト追加します。これらの3バイトを3つの異なる変数に分割したいですか? – kabanus