python串口通信實(shí)例 pythonTkinterGUI串口通信顯示?
pythonTkinterGUI串口通信顯示?后臺(tái)線程將數(shù)據(jù)寫入緩沖區(qū),即全局變量(可以使用隊(duì)列)。然后使用接口上的計(jì)時(shí)器定期刷新,從緩沖區(qū)中獲取數(shù)據(jù)并將其寫入控件。原則是這樣的。你只要摸一摸就知道了
pythonTkinterGUI串口通信顯示?
后臺(tái)線程將數(shù)據(jù)寫入緩沖區(qū),即全局變量(可以使用隊(duì)列)。然后使用接口上的計(jì)時(shí)器定期刷新,從緩沖區(qū)中獲取數(shù)據(jù)并將其寫入控件。原則是這樣的。你只要摸一摸就知道了。有一本書,Python的tkiner編程,有一個(gè)電子版?;旧夏阈枰臇|西都能找到。
如何用python寫個(gè)串口通信的程序?
導(dǎo)入序列號(hào)?創(chuàng)建一個(gè)串行實(shí)例
serialport=序列號(hào)。序列號(hào)()
串行端口.port
=“COM1”串行端口波特率
= 9600
串行端口奇偶校驗(yàn)
=“N”serialport.bytesize
= 8
串行端口.停止位
= 1
serialport.timeout(串行端口超時(shí))
=0.6
嘗試:串行端口。打開(kāi)()
串行端口.setDTR(正確)串行端口.setRTS(真)
例外情況除外,例如:
打印[ex
#發(fā)送數(shù)據(jù)serialport.write文件(根據(jù)項(xiàng)目要求,可以打開(kāi)一個(gè)線程來(lái)掃描和接收數(shù)據(jù)
485支持總線連接。只要用一條雙絞線連接所有設(shè)備的485數(shù)據(jù),然后用另一條雙絞線連接所有設(shè)備的485數(shù)據(jù),就可以實(shí)現(xiàn)多點(diǎn)通信。485總線網(wǎng)絡(luò)中連接的設(shè)備總數(shù)不應(yīng)超過(guò)32個(gè)。否則,應(yīng)使用485中繼器
2。在9600波特率或更低的情況下,兩個(gè)設(shè)備之間的最遠(yuǎn)距離不應(yīng)超過(guò)1200米,否則還需要中繼器
3。上位機(jī)發(fā)送指令,下位機(jī)響應(yīng)。上位機(jī)發(fā)出的指令必須有地址碼,下位機(jī)收到指令后才會(huì)響應(yīng),檢查地址碼是否一致。如果地址碼不一致,它將被忽略
4??赡苄枰砑哟蠹s120歐姆的適配器
庫(kù)。
接下來(lái),我們使用Tkinter庫(kù)來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法、減法、乘法和除法計(jì)算器。首先,效果圖如下:
上面的計(jì)算器基本實(shí)現(xiàn)了簡(jiǎn)單的加、減、乘、除運(yùn)算,其源代碼也非常簡(jiǎn)單,可以分為以下幾個(gè)步驟。