0
我想通過發送一些數據包,使通過Python文件的筆記本電腦和UART之間的通信: 我的包包含=如何從python文件發送apacket到我的uart?
2 bytes for Star of frames+
2 bytes for command types+
1 byte for the size of my data+
16 bytes for my data+
1 byte for my CRC.
我有包含我要發送數據的一個例子的file.txt的文件:
0xccddeeff0x8899aabb0x445566770x00112233
通過使用我想讀file.txt的數據(這我已經做)我的Python文件,然後我想加場的所有的休息,以便發送的所有數據包的UART。
import string
import serial
import time
from array import array
#Plaintxt.txt File
with open('C:\\Users\\user\\Win_My_Scripts\\test.txt') as f:
content = f.readlines()
#serial port
ser = serial.Serial(
port='COM4',\
baudrate=230400,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=0)
#enter inputs plaintext & key
print ('Plaintext=')
SOF= '0x124'
ENCRYPT_PLAINTEXT= '0x7772'
SEND_CYPHERTEXT ='0x7773'
SIZE_OF_FRAME= '0x10'
CRC8= '0x00'
for a in range (0,4):
line_array=content[a]
plaintxt_16b=line_array[0:16]
input_plaintext= SOF+ENCRYPT_PLAINTEXT+SIZE_OF_FRAME+plaintxt_16b+CRC8
print(plaintxt_16b)
ser.write (input_plaintext.encode())
time.sleep(0.4)
#closing the serial port
ser.close()
所以我的問題是: 1 /如何Concat的那些變量纔能有這樣的包?
0x1240x77720x100xccddeeff0x8899aabb0x445566770x001122330x00
2 /我UART然後將讀取的cmd.exe這個包,你THIK是從蟒蛇將數據發送到UART的最佳解決方案?如果您有其他建議,我會非常感激的。
在此先感謝。
見struct.pack。 –
是隻用於連接的IS結構包嗎? – tssmokey46