c++获取串口设备名称_基于pyserial【Python串口通信】

目录

e432937fc9a25134225aae0b3391cf7a.png

安装pyserial 

pip install pyserial

查看可用的端口

53272af2e167e28280cd42e5883ca47e.png

运行结果:

824a1178834b30d9533799c9bb26bd9c.png

注:在pyCharm环境下运行的,在电脑串口上有一个采集的传感器(通过串口连接到电脑)

最近调试通信模块时,需要用UART串口输入AT命令控制模块,手动输入不便于自动化,所以就学习了下使用python进行串口控制。

常用的方法函数

1)导入串口模块import serial;

2)打开串口ser = serial.Serial(端口名称,...其他参数),

ser.open()方法可以在close之后再次打开相应端口;

3)关闭串口ser.close();

4)通过串口写入ser.write(b''),参数需要使用字节bytes类型,如果是str类型,则可以使用encode('utf-8')的方式进行转换;读取模块信息的方法如下:

5)x= ser.read()读取一个字节,x=read(n)读取n个字节,readline()可以用来读取一行。

查看COM口工

python -m serial.tools.list_ports -v,可以列出所有串口名称及属性。

Serial参数说明

port 端口名字,windows下为'COM1'等;

baudrate (int)波特率,可以设置的范围9600到115200;

bytesize为每个字节的比特数,设置值为FIVEBITS, SIXBITS,SEVENBITS, EIGHTBITS 5-8比特;

parity设置校验位

PARITY_NONE,PARITY_EVEN,PARITY_SPACE,PARITY_ODD PARITY_MARK,用来设置校验位;stopbits停止位,用来指示字节完成,可以选择的设置STOPBITS_ONE,STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO;write_timeout(float) 写入超时设置;

timeout (float)读出超时设置;xonxoff (bool)软件流控开关;

rtscts (bool)硬件RTS/CTS流控开关;

dsrdtr (bool)硬件DSR/DTR流控开关。

  关于UART流控两线方式没有硬件流控,四线方式采用DSR、DTR进行流控,而RS232标准中可以有DSR、DTR的流控方式。RTS-request to send; CTS- clear to send;DSR-data set ready;DTR-Data Terminal Ready。

一个简单示例:能自动检测串口,并连接此串口,收集串口的数据

6bce58ef9398f310bcaf6bca34a1d5c7.png

综合上面的两个代码,能自动检测串口,并连接此串口,收集串口的数据

9922821fe83ceba9b1ac258a168aabea.png

68a09045635fb14a78f2e1e70b43aa2a.png

运行效果:

3b070452f1be12e909a56ab5d4e6231e.png

我用CC2530(Zigbee),采集了温度、湿度的数据,通过串口和电脑连接,运行此程序后,能自动检测到串口,然后获取 CC2530的数据,然后显示在电脑端。

7209ef681693bf235de2565a174b0588.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值