我真的希望有人可以帮我解决这个问题,我已经做了3天了,现在让我疯了。
我有两个基于linux的设备通过串口连接,一个是嵌入式设备,另一个是pc型设备。我在PC设备上有一些python代码,目前成功读取嵌入式设备发送的消息(因此串口设置正确)。
但是我现在需要将命令发送回嵌入式设备,这就是我正在努力的事情,我在串行线上有一个数据点击,所以我可以看到正在发送/接收的数据。
当我发送字符串" \ x2a \ x00 \ x00 \ x00 \ x00 \ x00 \ x57 \ x78 \ xD6 \ x81 \ x00 \ x01 \ x00 \ x8D \ x54"在串行端口之外,在串行数据分接头上,我只看到" EF F7 FF FF"。
请参阅以下代码:
import serial
serialport = serial.Serial(port=self.device,
baudrate=self.baudrate,
bytesize=self.bytesize,
parity=self.parity,
stopbits=self.stopbits,
timeout=0)
data = "\x2a\x00\x00\x00\x00\x00\x57\x78\xD6\x81\x00\x01\x00\x8D\x54"
serialport.write(data)
serialport.flushOutput()
答案 0 :(得分:0)
现在已经解决,结果是客户忽略了几个问题告诉我,除非嵌入式设备处于工程模式,否则它将忽略命令。数据分接头的拨码开关设置不正确,所以我的代码没有任何问题。感谢Shane让我质疑硬件,而不是我的代码!