前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用python发出rs232信号

利用python发出rs232信号

作者头像
py3study
发布2020-01-10 15:50:26
2.3K0
发布2020-01-10 15:50:26
举报
文章被收录于专栏:python3python3

最近接的一个项目涉及到用PC机的usb口收发rs232信号。为此,我写了一个简单的python程序,向usb口发送信号,然后通过一个usb转232线缆将信号转为rs232的。最后用万用表检查rs232端有无输出。

硬件:一个usb转rs232的线缆、一块面包板、若干杜邦线、万用表

软件:从http://rj.baidu.com/soft/detail/25282.html?ald下载python2.7;下载pyserial-2.6(忘记从 哪里下载pyserial了,可以在我的上传资源里找)

步骤:

1)从http://rj.baidu.com/soft/detail/25282.html?ald下载exe文件,双击之,自动开始安装python2.7;

2)安装完后,从我的资源里下载pyserial,并解压。我把它放在F:\programming\python\pyserial-2.6\

3)启动python IDLE,

4)安装pyserial,步骤如下:

>>import sys, os

>>os.chdir("F:\programming\python\pyserial-2.6")

>>print os.getcwd()

>>import setup.py

>>execfile('setup.py')

假如执行命令后,IDLE没有弹出任何红色告警,就说明pyserial正确安装了

注意:以后每次载入serial模块,都要先把当前路径设为os.chdir("F:\programming\python\pyserial-2.6")。

5)将USB线的usb端插入PC

6)假如是第一次使用usb线,PC机会自动安装它的驱动。这个过程可能比较长,达到十几分钟

7)安装完成后,PC的设备管理器会显示出usb线对应的端口号。在我的计算机上是COM15

8)回到python IDLE,载入pyserial

>>import serial

9)此时可以将rs232这端的信号引出来。我的线缆的232端是母口

9针母口的排列如下:

有的网站http://blog.sina.com.cn/s/blog_72dba9a2010197yh.html说,端口的左右排列是反的。这是因为该网站展示的是公头。两者并不矛盾。

在我的线缆里,5口代表信号地。2口代表信号发射端。

10)打开端口:

>>ser = serial.Serial("COM15", 9600)

11)令端口持续发射acsii字符'a'

>>while True:

     s = 'a'

     ser.write(s)

12)用万用表测量2口和5口之间电压,显示电压约为-8伏,说明python可以控制usb口的发射。按理说,应该用示波器观察发射的信号。但是我没有示波器,只能将就。在日后的博客中,我会给出更有说服力的观察办法。

13)ctrl+c,终止发射。然后在IDLE输入

>>ser.close()

14)再次测量2-5之间电压,此时电压为零。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档