python serial模块可以连接串口,但不知道怎么发送命令和接收返回的数据
import serial
import serial.tools.list_ports
plist = list(serial.tools.list_ports.comports()) #获取端口列表
for port in plist:
print('端口号:' + port[0] + ' 端口名:' + port[1])
com = serial.Serial('COM3',115200) #连接串口
print(com)
#写
success_bytes = com.write('This is data for test'.encode())
print(success_bytes)
#读
data=com.readall()
print(data)
This is data for test。。这一段字符发送过去后,对端会发送一段什么内容过来?有没有一种可能是对端已经发完数据了,你这边还没有来得及接收? 你可以这样验证下:对端每隔几秒定时发一些字符过来,Python脚本里一直在循环调用readall(),看是否能抓到数据。 一般这种不知道对方何时会发数据过来的情况下要用多线程+无限循环来解决。