Python PySerial-如何读取按下按钮后发送的字符串?
我正在为GUI编写代码,该GUI将显示正在按下的某个按钮。按下按钮后,使用C语言通过USART发送字符串(十六进制形式),如下所示:Python PySerial-如何读取按下按钮后发送的字符串?,python,c,serial-port,pyserial,usart,Python,C,Serial Port,Pyserial,Usart,我正在为GUI编写代码,该GUI将显示正在按下的某个按钮。按下按钮后,使用C语言通过USART发送字符串(十六进制形式),如下所示: buttonData1[0] = 0x01; error_code = tw_master_transmit(I2C_slave_address1, buttonData1, 1, false); ERROR_CHECK(error_code); error_code = tw_master_receive(I2C_slave_ad
buttonData1[0] = 0x01;
error_code = tw_master_transmit(I2C_slave_address1, buttonData1, 1, false);
ERROR_CHECK(error_code);
error_code = tw_master_receive(I2C_slave_address1, buttonData1, sizeof(buttonData1));
ERROR_CHECK(error_code);
currentbuttonStatus.buttonStatus1 = reverseBits(buttonData1[1]);
sprintf(buffer, "BS1 = %0X\t", currentbuttonStatus.buttonStatus1);
USART_SendString(buffer);
然后,我想使用pyserial读取通过python上的USART SendString发送的十六进制,并根据按下的相应按钮在GUI上显示该十六进制
这是我的python代码
def on_select(event):
try:
serialPort = serial.Serial(port="COM5", baudrate=9600,
bytesize=8, timeout=2, stopbits=serial.STOPBITS_ONE)
if serialPort.isOpen():
portstatus.config(text="Status: Connected", bg="chartreuse2", width=20)
keyPress = serialPort.readline()
if keyPress == "BS1 = 7F":
noteLabel.config(text="The button pressed is 1")
except:
print("No Suitable Port")
这似乎不起作用,我不确定我做错了什么。这里出了什么问题?“这似乎不起作用…”以什么方式?什么也没有收到?接收垃圾?buffer
是否足够大以容纳字符串和NUL
终止符?currentbuttonStatus.ButtonStatus 1
是您期望的数据吗?