Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python串口编程

作者:冥界少主   发布日期:2026-05-30   浏览:75

import serial
import time

# 打开串口
ser = serial.Serial(
    port='/dev/ttyUSB0',  # 替换为你的串口设备路径,例如:Windows下可能是'COM3'
    baudrate=9600,        # 波特率
    parity=serial.PARITY_NONE,  # 校验位
    stopbits=serial.STOPBITS_ONE,  # 停止位
    bytesize=serial.EIGHTBITS,  # 数据位
    timeout=1            # 超时设置
)

if ser.isOpen():
    print("串口打开成功")
else:
    print("串口打开失败")
    exit()

try:
    while True:
        # 发送数据
        send_data = "Hello, World!\r\n"
        ser.write(send_data.encode('utf-8'))  # 将字符串编码为字节并发送
        print(f"已发送: {send_data}")

        # 接收数据
        if ser.in_waiting > 0:
            receive_data = ser.read(ser.in_waiting).decode('utf-8')  # 读取所有可读取的数据并解码为字符串
            print(f"已接收: {receive_data}")

        time.sleep(1)  # 每隔1秒发送一次数据

except KeyboardInterrupt:
    print("程序终止")

finally:
    ser.close()  # 关闭串口
    print("串口已关闭")

解释说明:

  1. 导入模块:使用 serial 模块来处理串口通信,time 模块用于添加延时。
  2. 配置串口参数:通过 serial.Serial() 创建一个串口对象,并设置串口的参数(如端口、波特率等)。
  3. 打开串口:检查串口是否成功打开。
  4. 发送和接收数据:在 while 循环中,每隔1秒发送一次数据,并检查是否有接收到的数据。如果有,则读取并打印出来。
  5. 异常处理:捕获 KeyboardInterrupt 异常以确保在用户中断程序时能够正常关闭串口。
  6. 关闭串口:无论程序如何结束,都会确保串口被正确关闭。

如果你需要更多详细的解释或有其他问题,请随时告诉我!

上一篇:python怎么运行py文件

下一篇:python定义函数的关键字

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站