国产探花免费观看_亚洲丰满少妇自慰呻吟_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 協議格式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖边县| 翼城县| 平谷区| 韶山市| 武城县| 汤阴县| 伽师县| 五指山市| 乡城县| 柯坪县| 左云县| 宜阳县| 普安县| 辰溪县| 冕宁县| 志丹县| 曲阜市| 班戈县| 武穴市| 古田县| 霍邱县| 罗甸县| 中宁县| 芜湖市| 农安县| 余江县| 榆中县| 东台市| 桓台县| 常州市| 营山县| 佛山市| SHOW| 兴宁市| 徐水县| 景德镇市| 开阳县| 大姚县| 石林| 灵石县| 湘乡市|