欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式

 更新時(shí)間:2023年09月06日 10:15:18   作者:樂(lè)觀的lishan  
這篇文章主要介紹了python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)

為了通過(guò)python編程控制串口發(fā)送數(shù)據(jù)給單片機(jī),編寫此程序

使用serial模塊完成串口的讀取和數(shù)據(jù)的收發(fā)

重點(diǎn)掌握以下幾個(gè)api的使用方法

  • 讀取串口設(shè)備列表:list(serial.tools.list_ports.comports())
  • 初始化串口對(duì)象:ser=serial.Serial()
  • 打開(kāi)串口:ser.isOpen()
  • 發(fā)送數(shù)據(jù):ser.write()
  • 讀取數(shù)據(jù):ser.read()
  • 關(guān)閉串口:ser.close()

完整代碼

# !/usr/bin/env python
# -*- coding: utf-8 -*-
"""
# ============================================================
# @Date    : 2022/05/16 21:50:12
# @Author  : miles
# @Email   : lishan@st.xatu.edu.cn
# @File    : serial_demo.py
# @IDE     : PyCharm
# @Func    : Describes the function of the file
# @Note    : pip install pyserial
# ============================================================
"""
import time
import serial.tools.list_ports
if __name__ == '__main__':
    # 讀取串口列表
    ports_list = list(serial.tools.list_ports.comports())
    if len(ports_list) <= 0:
        print("無(wú)串口設(shè)備")
    else:
        print("可用的串口設(shè)備如下: ")
        print("%-10s %-30s %-10s" % ("num", "name", "number"))
        for i in range(len(ports_list)):
            comport = list(ports_list[i])
            comport_number, comport_name = comport[0], comport[1]
            print("%-10s %-30s %-10s" % (i, comport_name, comport_number))
        # 打開(kāi)串口
        port_num = ports_list[0][0]
        print("默認(rèn)選擇串口: %s" % port_num)
        # 串口號(hào): port_num, 波特率: 115200, 數(shù)據(jù)位: 7, 停止位: 2, 超時(shí)時(shí)間: 0.5秒
        ser = serial.Serial(port=port_num, baudrate=115200, bytesize=serial.SEVENBITS, stopbits=serial.STOPBITS_TWO,
                            timeout=0.5)
        if not ser.isOpen():
            print("打開(kāi)串口失敗")
        else:
            print("打開(kāi)串口成功, 串口號(hào): %s" % ser.name)
            # 串口發(fā)送字符串?dāng)?shù)據(jù)
            data = "%d:%d" % (130, 1)
            print("發(fā)送數(shù)據(jù): %s" % data)
            write_len = ser.write(data.encode('utf-8'))
            print("串口發(fā)出{}個(gè)字節(jié)".format(write_len))
            # 串口發(fā)送十六進(jìn)制數(shù)據(jù)
            # data = 0xAB
            # print("發(fā)送數(shù)據(jù): %X" % data)
            # write_len = ser.write(bytearray([data]))
            # print("串口發(fā)出{}個(gè)字節(jié)".format(write_len))
            # 等待串口返回信息并輸出
            t0 = time.time()
            while True:
                com_input = ser.read(10)
                t1 = time.time()
                t = t1 - t0
                print("\r等待串口接收數(shù)據(jù), %.2f 秒" % t, end="")
                if com_input or t >= 3:
                    if com_input:
                        print("\n%s" % com_input)
                    else:
                        print("\n%s" % "沒(méi)有接收到任何數(shù)據(jù)")
                    break
            # 關(guān)閉串口
            ser.close()
            if ser.isOpen():
                print("串口未關(guān)閉")
            else:
                print("串口已關(guān)閉")

在電腦上插入U(xiǎn)SB轉(zhuǎn)串口模塊連接到單片機(jī),

運(yùn)行結(jié)果

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入淺析python定時(shí)殺進(jìn)程

    深入淺析python定時(shí)殺進(jìn)程

    這篇文章主要介紹了深入淺析python定時(shí)殺進(jìn)程的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • Python?Collections庫(kù)的高級(jí)功能使用示例詳解

    Python?Collections庫(kù)的高級(jí)功能使用示例詳解

    Python的collections庫(kù)提供了一系列有用的數(shù)據(jù)類型,擴(kuò)展了內(nèi)建的數(shù)據(jù)類型,為開(kāi)發(fā)者提供了更多高級(jí)功能,本文將深入探討collections庫(kù)的一些高級(jí)功能,通過(guò)詳細(xì)的示例代碼演示,幫助大家更好地理解和應(yīng)用這些功能
    2023-12-12
  • 利用Python腳本實(shí)現(xiàn)ping百度和google的方法

    利用Python腳本實(shí)現(xiàn)ping百度和google的方法

    最近在做SEO的時(shí)候,為了讓發(fā)的外鏈能夠快速的收錄,想到了利用ping的功能,google和百度都有相關(guān)的ping介紹,有興趣的朋友可以去看看相關(guān)的知識(shí)。下面這篇文章主要介紹了利用Python腳本實(shí)現(xiàn)ping百度和google的方法,需要的朋友可以參考借鑒,一起來(lái)看看吧。
    2017-01-01
  • Python3 Post登錄并且保存cookie登錄其他頁(yè)面的方法

    Python3 Post登錄并且保存cookie登錄其他頁(yè)面的方法

    今天小編就為大家分享一篇Python3 Post登錄并且保存cookie登錄其他頁(yè)面的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python中的標(biāo)簽編碼和獨(dú)熱編碼示例詳解

    Python中的標(biāo)簽編碼和獨(dú)熱編碼示例詳解

    標(biāo)簽編碼是一種用于將分類列轉(zhuǎn)換為數(shù)值列的技術(shù),以便它們可以通過(guò)僅采用數(shù)值數(shù)據(jù)的機(jī)器學(xué)習(xí)模型進(jìn)行擬合,這篇文章主要介紹了Python中的標(biāo)簽編碼和獨(dú)熱編碼,需要的朋友可以參考下
    2023-07-07
  • 五個(gè)簡(jiǎn)單有效的Python清理數(shù)據(jù)腳本分享

    五個(gè)簡(jiǎn)單有效的Python清理數(shù)據(jù)腳本分享

    通常情況下,在機(jī)器學(xué)習(xí)中的數(shù)據(jù)清理往往是一件令人頭疼的事情,本文整理了一份清單,列出了5個(gè)常用的Python腳本,用于自動(dòng)化數(shù)據(jù)清理,需要的可以參考一下
    2022-09-09
  • selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn)

    selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn)

    這篇文章主要介紹了selenium自動(dòng)化測(cè)試入門實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python實(shí)現(xiàn)連接dr校園網(wǎng)示例詳解

    Python實(shí)現(xiàn)連接dr校園網(wǎng)示例詳解

    在校園里認(rèn)證上網(wǎng)很麻煩需要web輸入賬號(hào)密碼有時(shí)還會(huì)忘記web地址,所以為了解決這一問(wèn)題,本文將為大家介紹通過(guò)Python實(shí)現(xiàn)校園網(wǎng)的連接,快來(lái)跟隨小編一起學(xué)習(xí)吧
    2021-11-11
  • python 垃圾收集機(jī)制的實(shí)例詳解

    python 垃圾收集機(jī)制的實(shí)例詳解

    這篇文章主要介紹了 python 垃圾收集機(jī)制的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • Python探索之靜態(tài)方法和類方法的區(qū)別詳解

    Python探索之靜態(tài)方法和類方法的區(qū)別詳解

    這篇文章主要介紹了Python探索之靜態(tài)方法和類方法的區(qū)別詳解,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10

最新評(píng)論