Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySerial-如何读取按下按钮后发送的字符串?_Python_C_Serial Port_Pyserial_Usart - Fatal编程技术网

Python PySerial-如何读取按下按钮后发送的字符串?

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

我正在为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_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
是您期望的数据吗?