【python】之serial模块,读写串口数据!
串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。pyserial模块封装了python对串口的访问,为多平台的使用提供了统一的接口。
一.serial模块的安装
使用pip接口进行安装
pip install serial
pip接口详细说明可以看:【python】之pip,Python 包管理工具详解!_python包管理工具pip_==PP的博客-CSDN博客
二.serial库基本函数使用
串口初始化的函数
ser = serial.Serial('COM3',115200,timeout=5)
参数1:com3为串口的端口号
参数2:115200为串口的波特率
参数3:timeout为串口的超时设置
2.write串口写数据
Write = ser.write(b'bsp\n')
往串口里面发送数据
b:此参数表示bytes类型, 直接发送字符串会报错
\n:换行的意思
bsp:要发送的内容
read()串口读数据
ser.read() ####从端口读字节数据,默认1个字节ser.read_all() ####从端口接收全部数据ser.readline() ###读一行数据ser.readlines() ###读多行数据
三.实例演示
直接上代码:
import serialimport timeif __name__ == '__main__': ser = serial.Serial('COM3',115200,timeout=5) ##连接串口,打开 time.sleep(0.5) Write = ser.write(b'Hello\n') ##发送数据 Read = ser.read() ###接收1个字节数据 print(Read) Write = ser.write(b'Hello\n') ##发送数据 Read = ser.readline() ##接收一行数据 print(Read) Write = ser.write(b'Hello\n') ##发送数据 Read = ser.read_all() ###接收所有数据 print(Read) Write = ser.write(b'Hello\n') ##发送数据 Read = ser.readlines() ###读多行数据 print(Read) ser.close() ###关闭串口连接
输出:
还有以下函数及功能
ser.isOpen() | 查看端口是否被打开 |
ser.open() | 打开端口 |
flush() | 等待所有数据写出 |
flushInput() | 丢弃接收缓存中的所有数据 |
flushOutput() | 终止当前写操作,并丢弃发送缓存中的数据 |
基础的串口读写操作就如上所示啦。
@Neng
来源地址:https://blog.csdn.net/pengneng123/article/details/129727811
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341