日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 串口_如何使用Python开发串口通讯上位机(一)

發布時間:2024/7/5 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 串口_如何使用Python开发串口通讯上位机(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用Python開發串口通訊型上位機,其實并非最優解,本系列更新只為個人學習與總結。如果有C語言底子,嵌入式層面的上位機開發,C++ Builder,C#才是更加好用的利器。

1

什么是上位機

從事過嵌入式軟件開發或者工控機開發的,對上位機應該都不陌生。簡單來說,上位機指的是能夠發送指令的計算機或者控制器,通過各類通訊獲取下位機信息,控制下位機的行為等。

最典型的例子,電腦端的串口助手(上位機),通過RS232-DB9或者USB轉串口,與單片機(下位機)的串口通訊,獲取單片機系統的狀態等。

圖片來自百度百科

此系列文章,與大家講講如何使用Python進行串口通訊型上位機的開發。此為第一篇。??

2

準備工作

1. 串口調試助手,用于驗證通訊,此處推薦使用Uartassistant,百度一下即可輕松找到下載方法

2. Virtual Serial Port:虛擬串口,可以在沒有實際串口線連接的情況,在電腦端虛擬出對接的兩個串口,方便我們在沒有下位機或者未就緒的情況下,驗證數據的收發,下圖為虛擬出COM1與COM2兩個串口,并內部互聯,打開兩個1中調試助手,分別配置為COM1和COM2,波特率相同,在COM1發送“Hello world”,COM2即可收到

3. Pyqt5:用于開發界面,詳見前面幾期內容

三步學會Python開發上位機并處理excel數據(一)

4. PyCharm:Python IDE

三步學會Python開發上位機并處理excel數據(一)

5. Pyserial庫安裝-pip install pyserial

3

Pyserial 初步使用

Pyserial API的使用參見官網:

https://pythonhosted.org/pyserial/pyserial_api.html。

初始化參數:

name:設備名字
port:讀或者寫端口
baudrate:波特率
bytesize:字節大小
parity:校驗位
stopbits:停止位
timeout:讀超時設置
writeTimeout:寫超時
xonxoff:軟件流控
rtscts:硬件流控
dsrdtr:硬件流控
interCharTimeout:字符間隔超時

常用接口

isOpen():查看端口是否被打開。
open() :打開端口‘。
close():關閉端口。
read():從端口讀字節數據。默認1個字節。
read_all():從端口接收全部數據。
write("hello"):向端口寫數據。
readline():讀一行數據。
readlines():讀多行數據。
in_waiting():返回接收緩存中的字節數。
flush():等待所有數據寫出。
flushInput():丟棄接收緩存中的所有數據。
flushOutput():終止當前寫操作,并丟棄發送緩存中的數據。

簡易驗證代碼:

1. 使用虛擬串口,配置COM1與COM2

2. 打開串口助手,配置為COM2,9600后打開

3. Pycharm或者jupyter notebook輸入如下代碼并運行

運行截圖如下:

1. Python打開串口后發送“Python serial port demo!”

2. 另外一端的COM2,手動輸入“Yes”,Python程序接收到后打印出來

4

總結

本篇主要介紹了什么是上位機以及Python開發串口通訊型上位機所需的準備工作,并簡單展示了如何進行串口收發。

一個好的上位機還需要更多功能,將會在接下來幾期逐步深入與完善,敬請期待哦。

關注公眾號,獲取更多干貨哦。

?作者:跨界程序員Vincent

總結

以上是生活随笔為你收集整理的python 串口_如何使用Python开发串口通讯上位机(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。