python 实现串口指令通讯

上一篇文章文章写了串口数据的读取,这篇文章讲串口数据的写入(指令控制)

与下位机通信往往需要十六进制形式进行数据通信,根据设备串口通信指令文档进行指令通信,本篇以灯光控制为例:

1.pyserial模块封装了对串口的访问,安装:pip insatll pyserial

2.实例

复制代码
import serial
import time

if __name__ == '__main__':
    #指令含义
    addr_light = [0xFF, 0x09, 0x00, 0x11, 0x00] 
    green_always_on = [0x12, 0x7C, 0x25]  # 绿灯常量
    light_off = [0x61, 0x3D, 0xC0]  # 警灯关闭

    try:
        #串口连接
        light_ser = serial.Serial(port='COM9', baudrate=9600, timeout=0.5)
        if light_ser.isOpen():  # 判断端口是否被打开
            print('lighting {0} is connect'.format(light_ser.name))

            #发送绿灯指令
            light_ser.write(addr_light + green_always_on)
            #读取返回数据 
            data = light_ser.readline() 
            print(data.hex().upper())   #二进制转十六进制,大写
            time.sleep(5)
            #发送关闭指令
            light_ser.write(addr_light + light_off)
            
        else:
            print("can not connect serial")

        # 关闭串口
        serial.Serial.close(light_ser)

    except Exception:
        print("error")

欢迎留言

相关推荐
新子y10 分钟前
【小白笔记】岛屿数量
笔记·python
CLubiy15 分钟前
【研究生随笔】Pytorch中的线性代数
pytorch·python·深度学习·线性代数·机器学习
reasonsummer18 分钟前
【办公类-115-02】20251018信息员每周通讯上传之文字稿整理(PDF转docx没有成功)
python·pdf
材料科学研究25 分钟前
深度学习物理神经网络(PINN)!
python·深度学习·神经网络·pinn
兰文彬30 分钟前
Pytorch环境安装指南与建议
人工智能·pytorch·python
哦你看看1 小时前
学习Python 03
开发语言·windows·python
后端小张1 小时前
[AI 学习日记] 深入解析MCP —— 从基础配置到高级应用指南
人工智能·python·ai·开源协议·mcp·智能化转型·通用协议
天青色等烟雨..1 小时前
AI+Python驱动的无人机生态三维建模与碳储/生物量/LULC估算全流程实战技术
人工智能·python·无人机
新子y1 小时前
【小白笔记】岛屿的周长(Island Perimeter)
笔记·python
闲人编程2 小时前
深入浅出Transformer:使用Hugging Face库快速上手NLP
python·深度学习·自然语言处理·nlp·transformer·hugging face·codecapsule