利用python发出rs232信号
2016-07-31 18:51
281 查看
最近接的一个项目涉及到用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之间电压,此时电压为零。
硬件:一个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之间电压,此时电压为零。
相关文章推荐
- python练习笔记——利用信号signal处理僵尸进程
- 如何利用python dbus来发送一个信号
- 如何利用python dbus来发送一个信号
- 利用单片机自制简单的RS232信号发射装置
- Python利用win32com操作Excel
- 在漏洞利用Python代码真的很爽
- 利用系统外部中断做PS键盘信号接收
- 在Python下利用PIL实现可设定阈值的二值图像转换
- 利用显示器的电磁辐射发射调幅广播信号
- 利用 Python 做批量文件操作的任务
- 学习Python可以利用的电子资源
- 利用metaclass实现python的aop
- 利用python取WMI
- 以下通讯电路,输入是标准的RS232信号TTL电平,输出什么信号呀?是标准的422信号吗?硬件高手请进做客!
- python 利用win32com操作excel
- Python入门的36个例子 之 28 -> Pickle —— 利用文件存储对象
- 伽利略计划第二颗实验卫星发出导航信号
- 利用python复制文件,或目录
- 【用Python写爬虫】获取html的方法【五】:利用Twisted框架之client.getPage
- Python下利用PIL实现可设定阈值的二值图像转换