日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 串口通信的實(shí)現(xiàn)

瀏覽:123日期:2022-07-09 14:01:45

串口通信是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線 、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)汀4谑怯?jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。pyserial模塊封裝了python對(duì)串口的訪問(wèn),為多平臺(tái)的使用提供了統(tǒng)一的接口。

安裝:

pip3 install pyserial

測(cè)試:

兩個(gè)CH340 (TTL轉(zhuǎn)串口模塊)接入到PC串口上,通過(guò)Python進(jìn)行數(shù)據(jù)交互:

Python 串口通信的實(shí)現(xiàn)

簡(jiǎn)單串口程序?qū)崿F(xiàn):

import serial #導(dǎo)入模塊try: #端口,GNU / Linux上的/ dev / ttyUSB0 等 或 Windows上的 COM3 等 portx='COM3' #波特率,標(biāo)準(zhǔn)值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200 bps=115200 #超時(shí)設(shè)置,None:永遠(yuǎn)等待操作,0為立即返回請(qǐng)求結(jié)果,其他值為等待超時(shí)時(shí)間(單位為秒) timex=5 # 打開(kāi)串口,并得到串口對(duì)象 ser=serial.Serial(portx,bps,timeout=timex) # 寫數(shù)據(jù) result=ser.write('我是東小東'.encode('gbk')) print('寫總字節(jié)數(shù):',result) ser.close()#關(guān)閉串口except Exception as e: print('---異常---:',e)

獲取可用串口列表:

import serial #導(dǎo)入模塊import serial.tools.list_portsport_list = list(serial.tools.list_ports.comports())print(port_list)if len(port_list) == 0: print(’無(wú)可用串口’)else: for i in range(0,len(port_list)): print(port_list[i])

十六進(jìn)制處理:

import serial #導(dǎo)入模塊try: portx='COM3' bps=115200 #超時(shí)設(shè)置,None:永遠(yuǎn)等待操作,0為立即返回請(qǐng)求結(jié)果,其他值為等待超時(shí)時(shí)間(單位為秒) timex=None ser=serial.Serial(portx,bps,timeout=timex) print('串口詳情參數(shù):', ser) #十六進(jìn)制的發(fā)送 result=ser.write(chr(0x06).encode('utf-8'))#寫數(shù)據(jù) print('寫總字節(jié)數(shù):',result) #十六進(jìn)制的讀取 print(ser.read().hex())#讀一個(gè)字節(jié) print('---------------') ser.close()#關(guān)閉串口except Exception as e: print('---異常---:',e)

其他細(xì)節(jié)補(bǔ)充:

import serial #導(dǎo)入模塊try: #端口,GNU / Linux上的/ dev / ttyUSB0 等 或 Windows上的 COM3 等 portx='COM3' #波特率,標(biāo)準(zhǔn)值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200 bps=115200 #超時(shí)設(shè)置,None:永遠(yuǎn)等待操作,0為立即返回請(qǐng)求結(jié)果,其他值為等待超時(shí)時(shí)間(單位為秒) timex=5 # 打開(kāi)串口,并得到串口對(duì)象 ser=serial.Serial(portx,bps,timeout=timex) print('串口詳情參數(shù):', ser) print(ser.port)#獲取到當(dāng)前打開(kāi)的串口名 print(ser.baudrate)#獲取波特率 result=ser.write('我是東小東'.encode('gbk'))#寫數(shù)據(jù) print('寫總字節(jié)數(shù):',result) #print(ser.read())#讀一個(gè)字節(jié) # print(ser.read(10).decode('gbk'))#讀十個(gè)字節(jié) #print(ser.readline().decode('gbk'))#讀一行 #print(ser.readlines())#讀取多行,返回列表,必須匹配超時(shí)(timeout)使用 #print(ser.in_waiting)#獲取輸入緩沖區(qū)的剩余字節(jié)數(shù) #print(ser.out_waiting)#獲取輸出緩沖區(qū)的字節(jié)數(shù) #循環(huán)接收數(shù)據(jù),此為死循環(huán),可用線程實(shí)現(xiàn) while True: if ser.in_waiting: str=ser.read(ser.in_waiting ).decode('gbk') if(str=='exit'):#退出標(biāo)志 break else:print('收到數(shù)據(jù):',str) print('---------------') ser.close()#關(guān)閉串口except Exception as e: print('---異常---:',e)

部分封裝:

其中讀數(shù)據(jù)的封裝方法并不是很好用,使用的話又得循環(huán)接收,這樣反而更加復(fù)雜了

import serial #導(dǎo)入模塊import threadingSTRGLO='' #讀取的數(shù)據(jù)BOOL=True #讀取標(biāo)志位#讀數(shù)代碼本體實(shí)現(xiàn)def ReadData(ser): global STRGLO,BOOL # 循環(huán)接收數(shù)據(jù),此為死循環(huán),可用線程實(shí)現(xiàn) while BOOL: if ser.in_waiting: STRGLO = ser.read(ser.in_waiting).decode('gbk') print(STRGLO)#打開(kāi)串口# 端口,GNU / Linux上的/ dev / ttyUSB0 等 或 Windows上的 COM3 等# 波特率,標(biāo)準(zhǔn)值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200# 超時(shí)設(shè)置,None:永遠(yuǎn)等待操作,0為立即返回請(qǐng)求結(jié)果,其他值為等待超時(shí)時(shí)間(單位為秒)def DOpenPort(portx,bps,timeout): ret=False try: # 打開(kāi)串口,并得到串口對(duì)象 ser = serial.Serial(portx, bps, timeout=timeout) #判斷是否打開(kāi)成功 if(ser.is_open): ret=True threading.Thread(target=ReadData, args=(ser,)).start() except Exception as e: print('---異常---:', e) return ser,ret#關(guān)閉串口def DColsePort(ser): global BOOL BOOL=False ser.close()#寫數(shù)據(jù)def DWritePort(ser,text): result = ser.write(text.encode('gbk')) # 寫數(shù)據(jù) return result#讀數(shù)據(jù)def DReadPort(): global STRGLO str=STRGLO STRGLO=''#清空當(dāng)次讀取 return strif __name__=='__main__': ser,ret=DOpenPort('COM6',115200,None) if(ret==True):#判斷串口是否成功打開(kāi) count=DWritePort(ser,'我是東小東,哈哈') print('寫入字節(jié)數(shù):',count) #DReadPort() #讀串口數(shù)據(jù) #DColsePort(ser) #關(guān)閉串口

查看所有串口

import serial.tools.list_portsport_list = list(serial.tools.list_ports.comports())if len(port_list) == 0: print(’找不到串口’)else: for i in range(0,len(port_list)): print(port_list[i])

參考:

https://pythonhosted.org/pyserial/pyserial_api.html#serial.Serial.open

以上就是Python 串口通信的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于python 串口通信的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
色在线视频观看| 国产va免费精品观看精品视频| 国产aⅴ精品一区二区四区| 精品视频在线你懂得| 欧美激情日韩| 国产欧美一区二区三区精品酒店| 国产成人精品一区二区三区在线| 波多野结衣久久精品| 亚洲午夜一级| 久久久久久黄| 日韩视频在线一区二区三区 | 国产不卡一区| 青青国产91久久久久久| 久久精品国产99国产精品| 欧美一级一区| a国产在线视频| 一本一道久久a久久精品蜜桃| 99成人在线| 国产精品777777在线播放| 国产91精品对白在线播放| 蜜臀a∨国产成人精品| 国产午夜精品一区在线观看| 日本一区二区免费高清| 欧美日韩一二三四| 日韩精品第二页| 涩涩涩久久久成人精品| 国产亚洲久久| 精品免费av在线| 五月国产精品| 欧美国产偷国产精品三区| 国产精品久久久久久久久久10秀 | 久久九九精品| 蜜桃久久久久久| 国产夫妻在线| 另类av一区二区| 精品日韩在线| 亚洲夜间福利| 欧美日韩国产免费观看 | 麻豆精品新av中文字幕| 日韩精品电影| 欧美综合另类| 免费人成在线不卡| 日韩精品一级| 欧美国产中文高清| 99国产一区| 精品一区二区三区四区五区| 亚洲电影有码| 日本h片久久| 日韩精品欧美激情一区二区| 天堂av在线一区| а√天堂8资源中文在线| 91久久精品无嫩草影院| 精品一区亚洲| 日韩欧美精品| 国产精品久av福利在线观看| 日韩中文字幕高清在线观看| 中文字幕日本一区二区| 91精品啪在线观看国产18| 国产欧美自拍| 六月天综合网| 激情综合网址| 国产精品毛片一区二区在线看| 9国产精品视频| 中文在线а√天堂| 日本不卡视频在线观看| 99亚洲视频| 今天的高清视频免费播放成人| 成人精品国产亚洲| 欧美黄页在线免费观看| 国产亚洲精aa在线看| 亚洲欧美日韩国产一区| 亚洲黑丝一区二区| 亚洲1234区| 91亚洲成人| 蜜桃久久久久| 欧美日本不卡高清| 天堂久久一区| 亚洲香蕉久久| 一区二区三区网站| 美女久久久久| 美女网站一区| 影音国产精品| 乱人伦精品视频在线观看| 亚洲欧洲一区二区天堂久久| 精品欧美激情在线观看| 亚洲午夜一级| 在线一区免费| 99热免费精品| 三级欧美在线一区| 国产精品毛片在线| 亚洲激情二区| 丝袜脚交一区二区| 中文字幕日韩亚洲| 欧美精品中文| 青青国产精品| 日韩高清电影免费| 欧美一区影院| 国产精品乱战久久久| 国产精品久久久久久妇女 | 午夜亚洲一区| 免播放器亚洲| 日日夜夜免费精品视频| 国产日韩一区二区三区在线| 老色鬼精品视频在线观看播放| 黄色网一区二区| 中文字幕在线高清| 99久久99久久精品国产片果冰| 国产一区二区三区成人欧美日韩在线观看| 国产日韩中文在线中文字幕| 国产精品啊啊啊| 精品女同一区二区三区在线观看| 91偷拍一区二区三区精品| 99精品电影| 爽爽淫人综合网网站| 欧美日本久久| 欧美激情另类| 久久国产88| 国产精品一页| 亚洲精品国产嫩草在线观看| 美女被久久久| 国产福利一区二区精品秒拍| 国产精品蜜芽在线观看| 999国产精品999久久久久久| 免费成人av在线播放| 国产精品久久久免费| 国产亚洲一区二区手机在线观看 | 国产极品嫩模在线观看91精品| 国产一区二区三区不卡视频网站| 人在线成免费视频| 伊人久久大香线蕉av超碰演员| 免费成人av在线播放| 国产伦精品一区二区三区视频 | 日韩免费久久| 首页国产欧美久久| 免费一级欧美片在线观看网站 | 国产精品日韩精品在线播放| 久久影院午夜精品| 亚洲一区二区免费在线观看| 亚洲开心激情| 国产一区二区三区国产精品| 宅男噜噜噜66国产日韩在线观看| 亚洲欧美在线综合| 成人午夜亚洲| 免费日韩av片| 激情久久99| 一区二区精彩视频| 另类专区亚洲| 亚洲va久久久噜噜噜久久| 国产一区调教| 日韩在线观看一区二区| 国产一区二区三区日韩精品| 日韩午夜精品| 久久麻豆视频| 中文字幕日韩亚洲| jizzjizz中国精品麻豆| 日本一区中文字幕| 免费国产自久久久久三四区久久| 卡一卡二国产精品| 日本一区免费网站| 9国产精品视频| 成人免费电影网址| 久久香蕉网站| 欧美久久一区二区三区| 国产视频欧美| 久久久久亚洲| 成人精品久久| 美女av一区| 日韩avvvv在线播放| 亚洲精品1区2区| 麻豆国产精品| 日韩av电影一区| 亚洲欧美日韩国产| 一区二区三区视频免费观看| 久久精品福利| 国产精品一区二区三区美女| 亚洲香蕉久久| 午夜在线一区二区| 国产综合精品一区| 免费在线小视频| 色乱码一区二区三区网站| 国产精品一区二区免费福利视频 | 日韩高清在线一区| 性欧美长视频| 精品一区在线| 日韩在线短视频| 91综合视频| 超碰在线99| 9999国产精品| а√天堂8资源中文在线| 久久麻豆视频| 九九99久久精品在免费线bt| 国产精品流白浆在线观看| 欧美日韩18| 国产精品调教| 国产精品密蕾丝视频下载| 亚洲v天堂v手机在线| 日韩在线一二三区| 中文不卡在线| 日产欧产美韩系列久久99| 日韩欧美2区|