0
私は9ビットのシリアルプロトコルを持っています。 ドキュメントに記載されているのは ウェイクアップモードを直接サポートしていないUART/DUARTの場合、ウェイクアップビットの代わりにパリティビット を使用できます。9ビットシリアルプロトコルのBCDフォーマット
と私はシリアルPL2303へのUSBとすることを使用します。このコードは動作します
import time, serial
if ser.is_open == False:
try:
ser.port = '/dev/ttyUSB0'
ser.open()
except SerialException:
ser.port = '/dev/ttyUSB1'
ser.open()
def get_curent_credit():
ser.parity = serial.PARITY_MARK
ser._stopbits = serial.STOPBITS_ONE
cmd = '1A'
cmd = mashin_n + cmd
cmd = cmd + crc_sas(cmd)
ser.flushInput()
# Not needed, but without this command not work
ser.write('80'.decode('hex'))
time.sleep(1)
# cmd = 011Aa603
ser.write(cmd.decode('hex'))
response = ser.read(8).encode('hex')
crc_sas(response, chk=True)
return int(response[4:-4])*0.01
。 しかし、私は別のコマンドを試してみてください。 018A001000000253ca : 01 =アドレス1B
8A =コマンド1B
00100000 = 4 BCD
02 =税1B
は53ca = CRC
この
に動作しません私は問題がBCDにあると思います しかし、何がそれを
を修正する方法のアイデアを持って事前に