python serial模块怎么发送命令和接收串口返回的数据?

问题遇到的现象和发生背景

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)
运行结果及报错内容

img


使用readall()方法读不到任何数据。

我的解答思路和尝试过的方法
我想要达到的结果

img


怎么能用python来发送命令给串口并且读到串口发送回来的数据?

This is data for test。。这一段字符发送过去后,对端会发送一段什么内容过来?有没有一种可能是对端已经发完数据了,你这边还没有来得及接收? 你可以这样验证下:对端每隔几秒定时发一些字符过来,Python脚本里一直在循环调用readall(),看是否能抓到数据。 一般这种不知道对方何时会发数据过来的情况下要用多线程+无限循环来解决。