新聞中心
1. python 工具

#coding = utf-8
import pty
import os
import select
def mkpty():
master1, slave = pty.openpty()
slaveName1 = os.ttyname(slave)
master2, slave = pty.openpty()
slaveName2 = os.ttyname(slave)
print '\nslave device names: ', slaveName1, slaveName2
return master1, master2
if __name__ == "__main__":
master1, master2 = mkpty()
while True:
rl, wl, el = select.select([master1, master2], [], [], 1)
for master in rl:
data = os.read(master, 128)
print "read %d data." %len(data)
if master == master1:
os.write(master2, data)
else:
os.write(master1, data)
使用方法:
啟動(dòng):在終端里運(yùn)行“python mkptych.py&”,這樣就可以生成一個(gè)基于pty(偽終端)的虛擬端口對(duì),兩個(gè)設(shè)備名會(huì)顯示在終端里。然后就可以利用這兩個(gè)設(shè)備名在本機(jī)上進(jìn)行虛擬串口之類(lèi)的調(diào)試。
關(guān)閉:使用完后用ps查看這個(gè)python進(jìn)程的pid號(hào),然后kill掉即可。
2. ubuntu下 cutecom 圖像界面串口調(diào)試工具
?。?)終端下載命令:sudo apt-get install cutecom
?。?)通過(guò)終端打開(kāi)軟件:sudo cutecom (需要root權(quán)限,否則無(wú)法打開(kāi)串口)
?。?)在 Device 中填寫(xiě)上邊生成的虛擬串口號(hào) /dev/pts/24 和 /dev/pts/25, Input 中輸入文字 ,點(diǎn)擊回車(chē)發(fā)送測(cè)試
3. python 編寫(xiě)測(cè)試程序
?。?)1.安裝pyserial(安裝 serial module)
這里區(qū)分python2和 python3:
sudo apt install python-pip //python2
sudo apt install python3-pip //python3
?。?)然后通過(guò):
pip install pyserial //python2
pip3 install pyserial //python3
?。?)測(cè)試程序
import serial
from time import sleep
def recv(serial):
while True:
data = serial.read_all()
if data == '':
continue
else:
break
sleep(0.02)
return data
if __name__ == '__main__':
serial = serial.Serial('COM5', 9600, timeout=0.5) #/dev/ttyUSB0
if serial.isOpen() :
print("open success")
else :
print("open failed")
while True:
data =recv(serial)
if data != b'' :
print("receive : ",data)
serial.write(data) #數(shù)據(jù)寫(xiě)回
新聞名稱(chēng):Ubuntu下使用虛擬串口進(jìn)行開(kāi)發(fā)測(cè)試
網(wǎng)頁(yè)網(wǎng)址:http://www.dlmjj.cn/article/djoppho.html


咨詢(xún)
建站咨詢(xún)
