国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現串口通信的示例代碼

2020-02-15 21:18:18
字體:
來源:轉載
供稿:網友

1 硬件設備

TTL串口攝像頭(VC0706) USB轉TTL燒錄器

2 serial安裝

第一次安裝的是serial的包導包的時候發現下載錯了,正確應該是pyserial。安裝后直接import就可以了。

3 實現串口通信

3.1 發現端口

Windows下為COM(N, N=1、2...), Ubuntu下為‘/dev/ttyS0'Windows初學者,可以給您一下兩種方式確定端口號。

方法一:輸入在終端(cmd)中輸入

python -m serial.tools.list_ports

輸出結果:

COM51 ports found

方法二:搜索電腦上的設備管理器,打開以后然后插入燒錄器,自動就會彈出。如果沒有彈出就可能是驅動沒有安裝,安裝好以后不好使,重啟一下電腦,到了工作的時候大家都知道程序員會跟你說,你重啟一下,清一下緩存,這兩句話。也有可能是驅動安裝的不對。

方法三:直接找一個有端口掃描的上位機,點擊掃描就可以了。大部分上位機都是你一插進去就會檢測到你的端口。

----->

注意:當串口被占用的時候也有可能導致失敗,例如你在編譯器有兩個進程運行下面的測試代碼,第二個進程就會因為端口占用而失效。也有的上位機是因為同時打開了兩個上位機的緣故(實驗課的時候同學遇到過情況),可以用任務管理器kill掉。

測試:

import serial  #Windowsser = serial.Serial(port='COM5', baudrate=115200, timeout=0.5)print(ser.name)

控制臺打印結果: 

COM5Process finished with exit code 0

建立ser對象的代碼:

class PicSerial:  __ser = None # ser的單例  __isinit = False   @staticmethod  def get_available_port():    """    檢測可以使用的端口號    :return->str: 端口號的名稱    """    port = list(list_ports.comports())    if len(port) > 0:      port_name = port[0].device      print(port_name)      return port_name      # logging.info("Available port:", ports)    else:      print("There is no available port.")      # logging.error("There is no available port.")   def __new__(cls, *args, **kwargs):    if PicSerial.__ser is None:      cls.__ser = object.__new__(cls)    return cls.__ser   def __init__(self):    if not PicSerial.__isinit:      self.sername = self.get_available_port()      self.ser = serial.Serial(port=self.sername, baudrate=BAUDRATE)      PicSerial.__isinit = False      print("PicSerial init.")

3.2 發送命令

3.2.1 協議格式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万安县| 和林格尔县| 宜君县| 潮州市| 珠海市| 南康市| 洛阳市| 沙洋县| 三都| 沿河| 灵台县| 阿拉善左旗| 中西区| 库车县| 砚山县| 甘肃省| 陆河县| 肇源县| 峨边| 闵行区| 且末县| 明水县| 边坝县| 南郑县| 安泽县| 南川市| 加查县| 甘孜县| 黑水县| 汝阳县| 杨浦区| 贵定县| 云浮市| 平潭县| 贡山| 武隆县| 来宾市| 阿合奇县| 内乡县| 凤凰县| 内乡县|