在python中進行串列埠的相關應用程式設計,需要借助pyserial這個庫。
安裝串列埠庫:
pip3 install pyserial
如果你使用的是python2.x,那麼你使用pip安裝的方式如下:
pip install pyserial
class
uartinit
(object):
def__init__
(self, serial, baud)
: self.ser = serial.serial(serial, baudrate=baud, timeout=
0.1,
bytesize=
8, parity=
'n', stopbits=
1, xonxoff=
0,rtscts=0)
self.ser.flushinput(
) self.ser.flushoutput(
)
def
datasend
(self, cmd=
'', max_time=def_max_time)
: ser = self.ser
cmd = cmd +
'\n'
cmd = cmd.encode(
"ascii"
) ser.flushinput(
) ser.flushoutput()
ser.write(cmd)
gotstr = self.receive(max_time)
logging.info(
'tx -> '
+ unicode_str)
if gotstr ==
none
orlen
(unicode_str.strip())
==0: self.logging.warning(
'returning empty response for tx -> '
+ cmd)
return
''return unicode_str
def
receive
(self, max_time=def_max_time)
: ser = self.ser
ret =b''
start = prev = time.time(
)while
true
: curr = time.time()if
(curr - start > max_time)
:break
c = ser.read()if
len(c)
: ret += c
prev = curr
gotstr = ret.decode(
"utf-8"
,"ignore"
)return gotstr
注:上述的datasend 和 receive都是class uartinit中的方法。
import os
import sys
import time
import logging
import string
import serial
def_max_time =
3if __name__ ==
'__main__'
: usrt1 = uartinit(
'com1'
,230400
) usrt1.datasend(
'hello_world'
)
基於Python的Socket程式設計
socket基礎 socket的英文原義是 孔 或 插座 最初作為bsd unix的程序通訊機制,也被稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼,可用來實現不同虛擬機器或不同計算機之間的通訊。在internet上的主機一般執行了多個服務軟體,同時提供幾種服務。每種服務都開啟乙個soc...
基於python的多執行緒程式設計
由於之前看書的時候,對多執行緒的呼叫不怎麼了解,藉此機會,看了一些資料自己整理了一下 osi七層模型 物理層資料鏈路層 網路層傳輸層 會話層表示層 應用層協議分為tcp ip協議 現在用得最多的是這兩種協議,tcp ip,ip分管各個電腦終端位址,負責發包 包 就是資料 以塊的形式傳送,tcp負責運...
ArcGIS 基於Python的指令碼程式設計 3
這篇文章講述基於python的處理空間資料的一些方法,後續會再補充。2.處理表和欄位名 3.處理文字檔案 arcpy中游標在arcpy.da模中,共有3種游標。使用語法 cursor arcpy.da.searchcursor 輸入表,欄位名稱列表 查詢條件,空間參考 一些地理處理 x 記得要刪除游...