真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python串口通信函數(shù) 串口通信 python

如何用python寫個串口通信的程序

使用 pyserial 就可以處理串口通信,這個包是跨平臺的。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),共和企業(yè)網(wǎng)站建設(shè),共和品牌網(wǎng)站建設(shè),網(wǎng)站定制,共和網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,共和網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

示例程序在這里:

import?serial

#?創(chuàng)建serial實例

serialport?=?serial.Serial()

serialport.port?=?'COM1'

serialport.baudrate?=?9600

serialport.parity?=?'N'

serialport.bytesize?=?8

serialport.stopbits?=?1

serialport.timeout?=?0.6

try:

serialport.open()

serialport.setDTR(True)

serialport.setRTS(True)

except?Exception,?ex:

print?ex

#?發(fā)送數(shù)據(jù)

serialport.write(raw_data)

#?根據(jù)項目要求,可以開一個線程掃描接收數(shù)據(jù)

Python如何進行多串口通信?一個串口控制電機 一個串口采集數(shù)據(jù)?

下載 pyserial包

def OpenCom(self,*args): #設(shè)置端口和波特率 selComPort =‘com2’ #波特率 selBaudRate =9600 #奇偶校驗 selParity = 'N' try: if(not self.mySerial): self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate,bytesize=8,parity=selParity,stopbits=1,timeout=5) else: if(self.mySerial.isOpen()): self.mySerial.close() self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate, bytesize=8, parity=selParity, stopbits=1, timeout=5) self.lblInfo['text'] = '打開成功!' except Exception as ex: self.lblInfo['text'] = '打開失?。?

#使用com口發(fā)送modbus協(xié)議給終端設(shè)備。

def btnEmId_Click(self):

barray = bytearray([0x05, 0x03, 0xA#, 0x54, 0x00, 0x08])

vOldEmId = self.txbOldEmId.get()

vNewEmId = self.txbNewEmId.get()

barray[0] = int(vOldEmId)

barray[5] = int(vNewEmId)

#crc校驗

strInput = utils.crc16_append(barray)

print(barray)

n = self.mySerial.write(barray)

if(n 0):

str = self.mySerial.readall()

self.lblInfo['text'] = 'success!'

# for s in str:

# print (hex(s))

else:

self.lblInfo['text'] = 'error!'

如何用python實現(xiàn)串口通信

Python非常適合寫一些測試的腳本,如快速的串口通信測試等。如果使用VC++ QT開發(fā),可能用時較多,使用python,如果掌握使用方法,可以直接讀寫測試,配合設(shè)備或是串口助手,很快驗證與實現(xiàn)。

Python有沒有現(xiàn)成的串口API直接調(diào)用呢?經(jīng)過實踐驗證,需要安裝一個叫 Pyserial的組件即可。這個可以在github上下載。

在windows 7 64bit 上可以使用嗎?當(dāng)然可以使用,我安裝的python3.5為64位的。把下載后的文件,其中有一個serial的文件夾,拷貝到python35安裝路徑, C:\Python35\Lib\site-packages\serial

網(wǎng)上可以搜一下windows的安裝包,安裝完也是:C:\Python35\Lib\site-packages\serial ,可以用最新的版本,替換即可。

測試的方法:在python IDE里測試:

import serial

這里如果報錯,是python版本與pyserial版本沒有配合好。如果正常,不返回,即可以導(dǎo)入serial模塊。

ser=serial.Serial("COM5",115200)

這里為COM5,115200的波特率。如果打不開,請檢查安裝環(huán)境。

ser.write('hello,serial test'.encode())

17

發(fā)送測試(如果返回字節(jié)數(shù),說明返回成功),這里需要轉(zhuǎn)換一個編碼為字節(jié)。

以上測試,可以使用現(xiàn)在的設(shè)備或是串口助手,如安裝Virtual Serial Port Driver 7.2 虛擬串口軟件,設(shè)置一對串口,進行自發(fā)自收的測試。

print(ser.readline())

b'abcdefg\r\n'

這里是串口接收,有接收的超時。設(shè)備或是串口助手發(fā)送一個字符串,以回車換行結(jié)束,這里就可以收到打印出來。

也可以用ser.read(),這里只接收一個字符來實現(xiàn)。

上面已經(jīng)實現(xiàn)了基本的串口操作。

關(guān)閉串口為:

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()

1-python庫之-serial串口操作

python里面使用serial庫來操作串口,serial的使用流程跟平常的類似,也是打開、關(guān)閉、讀、寫

一般就是設(shè)置端口,波特率。

使用serial.Serial創(chuàng)建實體的時候會去打開串口,之后可以使用is_open開判斷下是否串口是否打開正常。

使用ser.close即可關(guān)閉串口

數(shù)據(jù)的寫使用ser.write接口,如果寫的是十六進制的數(shù)據(jù)使用bytearray來定義,如 writebuf = bytearray([0x55, 0xaa, 0x00, 0x01, 0x00, 0x00])

讀數(shù)據(jù)使用ser.read接口,一般會先使用in_waiting來判斷下是否有數(shù)據(jù),然后開始讀

下面舉一個例子,說明下我們在實際的使用情況。

一般會單獨創(chuàng)建一個進程來作為數(shù)據(jù)的接收,然后再配合上標(biāo)記位或者信號量來處理邏輯

python對串口藍牙模塊的操作

python提供了豐富的module 對串口的操作同樣有對應(yīng)的module:serial

環(huán)境:python3.5 藍牙模塊:HC-05 波特率38400

首先導(dǎo)入serial模塊(通過pip install serial 安裝)

獲取串口ser 通過serial.Serial(地址,波特率,超時時間)

創(chuàng)建線程監(jiān)聽串口數(shù)據(jù)

使用 ser.in_waiting() 獲知數(shù)據(jù)量 這個函數(shù)返回當(dāng)前串口收到的數(shù)據(jù)長度

收取數(shù)據(jù)后進行詳細操作


網(wǎng)站欄目:python串口通信函數(shù) 串口通信 python
文章URL:http://weahome.cn/article/hjiech.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部