永发信息网

如何用python实现串口通信

答案:1  悬赏:10  手机版
解决时间 2021-03-17 08:16
如何用python实现串口通信
最佳答案
Python非常适合写一些测试的脚本,如快速的串口通信测试等。如果使用VC++ QT开发,可能用时较多,使用python,如果掌握使用方法,可以直接读写测试,配合设备或是串口助手,很快验证与实现。
Python有没有现成的串口API直接调用呢?经过实践验证,需要安装一个叫 Pyserial的组件即可。这个可以在github上下载。

在windows 7 64bit 上可以使用吗?当然可以使用,我安装的python3.5为64位的。把下载后的文件,其中有一个serial的文件夹,拷贝到python35安装路径, C:\Python35\Lib\site-packages\serial
网上可以搜一下windows的安装包,安装完也是:C:\Python35\Lib\site-packages\serial ,可以用最新的版本,替换即可。
测试的方法:在python IDE里测试:
>>> import serial
这里如果报错,是python版本与pyserial版本没有配合好。如果正常,不返回,即可以导入serial模块。
>>> ser=serial.Serial("COM5",115200)
这里为COM5,115200的波特率。如果打不开,请检查安装环境。
>>> ser.write('hello,serial test'.encode())
17
发送测试(如果返回字节数,说明返回成功),这里需要转换一个编码为字节。
以上测试,可以使用现在的设备或是串口助手,如安装Virtual Serial Port Driver 7.2 虚拟串口软件,设置一对串口,进行自发自收的测试。
>>> print(ser.readline())
b'abcdefg\r\n'
这里是串口接收,有接收的超时。设备或是串口助手发送一个字符串,以回车换行结束,这里就可以收到打印出来。
也可以用ser.read(),这里只接收一个字符来实现。
上面已经实现了基本的串口操作。
关闭串口为:
>>> ser.close()
如果使用python,一般写个py文件,就像windows bat 批处理一样,这是python强大的地方。如果写一个py脚本呢?其实只要把上面的命令,一条条写下来,就是一个脚本,测试如下:
import serialser=serial.Serial("COM5",115200,timeout=0.5)for i in range(0,100-1):ser.write('hello\r\n'.encode())print(ser.readline());ser.close()
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为mate7手机支持全网通吗
漾影植物染发剂和化学染发剂有什么区别
生活中常把碗放在大锅内蒸食物,碗与锅底不接
软胁怎么读?????
北碚公交车站那里有963
燃烧所具备的3个条件
QQ号码被人举报了,被人盗了,或者封号了,怎
固定电话与移动电话有什么不同
客服退货应该怎么挽留
有一部电影情节里面讲车队去汽油城的是什么电
优益c过期一个月还能喝吗
圣斗士里冥王篇十二宫的第13集,当三位黄金圣
如果蒙古帝国没有分裂会怎么样
世界上数量最多的鱼类
大家觉得“羽辰”这个名字像是男孩的名字还是
推荐资讯
如图,PS路径文字,怎样把字反过来写,就是字
我的内网IP别人能看到吗
黄梅县黄冈九江锅贴重庆烤鱼怎么去啊,谁知道
春季口干舌燥是什么原因?
聪明的一休 哪一集是生孩子的
洞庭手撕叼子鱼的做法步骤图,怎么做好吃
200型三轮摩托车多少钱?车厢有多大,货用?
住在上海外滩,附近有什么特别的地方可以去
如何破解学校热水系统
百大音乐节是什么意思
我是个学会计的大专生 在校应该考什么证件呢
饥荒nue houjuu人物吸收怎么用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?