rs232 python_利用python发出rs232信号
最近接的一個項目涉及到用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之間電壓,此時電壓為零。
總結
以上是生活随笔為你收集整理的rs232 python_利用python发出rs232信号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python mapreduce函数_M
- 下一篇: 请详细描述listview与gridvi