最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

重點掌握以下幾個api的使用方法

  • 讀取串口設(shè)備列表:list(serial.tools.list_ports.comports())
  • 初始化串口對象:ser=serial.Serial()
  • 打開串口: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("無串口設(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))
        # 打開串口
        port_num = ports_list[0][0]
        print("默認(rèn)選擇串口: %s" % port_num)
        # 串口號: port_num, 波特率: 115200, 數(shù)據(jù)位: 7, 停止位: 2, 超時時間: 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("打開串口失敗")
        else:
            print("打開串口成功, 串口號: %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ā)出{}個字節(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ā)出{}個字節(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" % "沒有接收到任何數(shù)據(jù)")
                    break
            # 關(guān)閉串口
            ser.close()
            if ser.isOpen():
                print("串口未關(guān)閉")
            else:
                print("串口已關(guān)閉")

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

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

總結(jié)

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

相關(guān)文章

  • 淺析Python函數(shù)式編程

    淺析Python函數(shù)式編程

    在本篇文章中我們給大家分享了關(guān)于Python函數(shù)式編程的相關(guān)知識點內(nèi)容,有興趣的朋友參考下。
    2018-10-10
  • pytorch創(chuàng)建tensor函數(shù)詳情

    pytorch創(chuàng)建tensor函數(shù)詳情

    這篇文章主要介紹了pytorch創(chuàng)建tensor函數(shù)詳情,文章圍繞tensor函數(shù)的相關(guān)自來哦展開詳細(xì)內(nèi)容的介紹,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • python高級特性和高階函數(shù)及使用詳解

    python高級特性和高階函數(shù)及使用詳解

    Python很棒,它有很多高級用法值得細(xì)細(xì)思索,學(xué)習(xí)使用。這篇文章主要介紹了python高級特性和高階函數(shù)及使用詳解,需要的朋友可以參考下
    2018-10-10
  • Python中多個裝飾器執(zhí)行順序驗證深入講解

    Python中多個裝飾器執(zhí)行順序驗證深入講解

    裝飾器是Python中一種強(qiáng)大的語法結(jié)構(gòu),本質(zhì)上是一個特殊的函數(shù),它的主要作用是在不改變原函數(shù)代碼的基礎(chǔ)上,為其他函數(shù)或類添加額外的功能,這篇文章主要介紹了Python中多個裝飾器執(zhí)行順序驗證的相關(guān)資料,需要的朋友可以參考下
    2025-10-10
  • Python自動化操作Excel生成專業(yè)數(shù)據(jù)透視表的實戰(zhàn)指南

    Python自動化操作Excel生成專業(yè)數(shù)據(jù)透視表的實戰(zhàn)指南

    在數(shù)據(jù)分析的廣闊領(lǐng)域中,數(shù)據(jù)透視表無疑是處理和理解海量數(shù)據(jù)的強(qiáng)大工具,本文將深入探討如何利用Python庫,實現(xiàn)Excel數(shù)據(jù)透視表的自動化生成、配置與格式化,感興趣的可以了解下
    2025-12-12
  • PyCharm打代碼時出現(xiàn)白色光標(biāo)問題(筆記本的解決方案)

    PyCharm打代碼時出現(xiàn)白色光標(biāo)問題(筆記本的解決方案)

    PyCharm中白色光標(biāo)通常是虛擬空格功能導(dǎo)致的,可以通過按下Insert鍵或在設(shè)置中取消勾選“Show virtual space at line end”選項來解決
    2025-02-02
  • Python?round函數(shù)的基本用法與實例代碼

    Python?round函數(shù)的基本用法與實例代碼

    round()函數(shù)是Python中用于對浮點數(shù)進(jìn)行四舍五入的內(nèi)置函數(shù),這篇文章詳細(xì)介紹了round()函數(shù)的基本用法、參數(shù)詳解、特殊情況處理以及應(yīng)用場景,并提供了豐富的示例代碼,需要的朋友可以參考下
    2024-11-11
  • Python空間數(shù)據(jù)處理之GDAL讀寫遙感圖像

    Python空間數(shù)據(jù)處理之GDAL讀寫遙感圖像

    這篇文章主要介紹了Python空間數(shù)據(jù)處理之GDAL讀寫遙感圖像,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法

    Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法

    今天小編就為大家分享一篇Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python線程之如何解決共享變量問題

    Python線程之如何解決共享變量問題

    這篇文章主要介紹了Python線程之如何解決共享變量問題,掐滅問我們學(xué)習(xí)了銀行轉(zhuǎn)賬的這個場景,本文解決上次多個線程的操作都更改了amount變量導(dǎo)致運(yùn)行結(jié)果不對的問題,需要的朋友可以參考一下
    2022-02-02

最新評論

会泽县| 丘北县| 邵东县| 乐陵市| 策勒县| 鞍山市| 保德县| 衡水市| 石家庄市| 宝山区| 潜山县| 永福县| 聊城市| 通榆县| 吐鲁番市| 克什克腾旗| 长顺县| 尼玛县| 新化县| 巴林左旗| 东城区| 叙永县| 驻马店市| 通化县| 丽江市| 绵竹市| 翁牛特旗| 天祝| 镇康县| 武陟县| 刚察县| 民勤县| 孝昌县| 江城| 灌阳县| 南投县| 蒙自县| 巴里| 宿迁市| 湘乡市| 佛坪县|