if ser.in_waiting > 0: //接收的使用
data = ser.read(1) //接收一个字节
hex_data = data.hex() //转为16进制
hex_list.append(hex_data) //加入列表
print("接收到数据:", hex_list)
print("接收到数据:", hex_list[0])
rx_num += 1 //下标加1
if rx_num == 12:
if (hex_list[0] == "f1" and hex_list[10] == "ff" and hex_list[11] == "ff"): //判断包头包尾
树莓派中不能使用&&这种,要用and;
树莓派不能使用0x45这样表示16进制,要'45';
接收到的数据格式是
def Serial_send_data(Tx_data): //发送的使用
Tx_data = bytes.fromhex(Tx_data)
for i in range(0, 10):
ser.write(Tx_data)
time.sleep(0.02)
ser.close()
在树莓派上的使用:
树莓派学习笔记——串口与摄像头_摄像头串口通信-CSDN博客
参考这个把串口改好。
然后:
import serial
ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=0.5)
就可以了。