发布于2019-08-07 11:55 阅读(1327) 评论(0) 点赞(0) 收藏(3)
买了一个小玩具,测空气质量的,数据通过串口传输,所以就想用python写一个读数据的小程序。
serial
就是串口
的意思,用来操作串口名字起的还是很不错的(看谁先下手)
打开cmd
(开始里搜索就能找到),安装pyserial
pip install pyserial
有兴趣的可以去看看pyserial文档
确认安装成功,使用
pip list
如图所示,有pyserial就成功啦,如果速度很慢可以去网上搜搜如何换国内镜像,换完之后重启cmd重新安装即可体验飞速。
python -m serial.tools.list_ports -v
,可以列出所有串口名称及属性。
导入串口模块import serial;
打开串口ser = serial.Serial(端口名称,…其他参数),ser.open()方法可以在close之后再次打开相应端口;
关闭串口ser.close();
通过串口写入ser.write(b’’),参数需要使用字节bytes类型,如果是str类型,则可以使用encode(‘utf-8’)的方式进行转换;
读取模块信息的方法如下,x = ser.read()读取一个字节,x=read(n)读取n个字节,readline()可以用来读取一行。
port端口名字,windows下为’COM1’等;
baudrate (int)波特率,可以设置的范围9600到115200;
bytesize为每个字节的比特数,设置值为FIVEBITS, SIXBITS,SEVENBITS, EIGHTBITS 5-8比特;parity设置校验位PARITY_NONE, PARITY_EVEN,PARITY_ODD PARITY_MARK, PARITY_SPACE,用来设置校验位;
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。
plist = list(serial.tools.list_ports.comports())
if len(plist) > 0:
comlist_0 =list(plist[0])
ser = serial.Serial(comlist_0[0], 9600, timeout=60)
ser.read(16) # 读取16字节数据
ser.close()
作者:西红柿煎鸡蛋
链接:https://www.pythonheidong.com/blog/article/10518/857e43998fbdfbcab6e4/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!