weixin_39109540 2021-07-23 16:34 采纳率: 0%
浏览 172

python怎么通过串口发送命令,并且接收发送命令行中的某一行的返回数据,最后循环保存起来


import serial
import time
# import chardet
# import binascii
 
ser = serial.Serial()
 
def port_open():
    ser.port = 'COM19'            #设置端口号
    ser.baudrate = 38400     #设置波特率
    ser.bytesize = 7        #设置数据位
    ser.stopbits = 2        #设置停止位
    ser.parity = "E"        #设置校验位
    ser.open()              #打开串口,要找到对的串口号才会成功
    if(ser.isOpen()):
        print("打开成功")
    else:
        print("打开失败")
 
def port_close():
    ser.close()
    if (ser.isOpen()):
        print("关闭失败")
    else:
        print("关闭成功")
 
def send(send_data):
    if (ser.isOpen()):
        ser.write(send_data.encode('utf-8'))  #utf-8 编码发送
        # ser.write(binascii.a2b_hex(send_data))  #Hex发送
        print("发送成功",send_data)
    else:
        print("发送失败")

if __name__ == "__main__":
    port_open()
    #port_close()
    while True:
        send("COM,1\r")
        send("SCS,4,60.00\r")
        send("FSC,1\r")
        send("OPR,1\r")
        send("MMS,0\r")
        send("FMS,0\r")
        send("MDS,0\r")
        send("MCH,0\r")
        send("LUS,1\r")
        send("ZRC\r")
        send("MES,1\r")
        # send("COM,0\r")
   就是这个命令 send("MES,1\r") 通过串口发给了测量仪器,这个仪器是有测量返回值的,怎么写代码可以获取这个 send("MES,1\r")的返回值,并保存下来,是连续测量,有人指导一下么?
  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-07-23 16:37
    关注

    参考这个链接

    评论

报告相同问题?

问题事件

  • 创建了问题 7月23日

悬赏问题

  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况