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")

欢迎留言

相关推荐
极客小云2 分钟前
【基于AI的自动商品试用系统:不仅仅是虚拟试衣!】
javascript·python·django·flask·github·pyqt·fastapi
Warren982 分钟前
一次文件上传异常的踩坑、定位与修复复盘(Spring Boot + 接口测试)
java·开发语言·spring boot·笔记·后端·python·面试
JMchen1233 分钟前
Android相机硬件抽象层(HAL)逆向工程:定制ROM的相机优化深度指南
android·开发语言·c++·python·数码相机·移动开发·android studio
不会代码的小测试7 分钟前
UI自动化-Grid分布式运行
运维·分布式·python·selenium·自动化
百***07459 分钟前
进阶实战:Veo3.1 4K API深度集成短剧/漫剧系统,避坑与性能优化指南
python·性能优化
小辰辰就要混10 分钟前
20、Lambda表达式和Stream
开发语言·python
BYSJMG13 分钟前
大数据分析案例:基于大数据的肺癌数据分析与可视化系统
java·大数据·vue.js·python·mysql·数据分析·课程设计
卖个几把萌13 分钟前
基于 ApiTesting 框架的二次开发实践:功能增强与问题修复
python
阿拉丁的梦13 分钟前
[max,maya,c4d,blender]改轴心改空间,动画不变工具。
python·c4d
wfeqhfxz258878219 分钟前
交通手势识别实战:YOLO11-Seg与DAttention融合方案详解
python