亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用python pyserial模塊串口通信方式

 更新時(shí)間:2023年09月06日 17:04:27   作者:究理觀心  
這篇文章主要介紹了使用python pyserial模塊串口通信方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python pyserial模塊串口通信

最近調(diào)試通信模塊時(shí),需要用UART串口輸入AT命令控制模塊,手動(dòng)輸入不便于自動(dòng)化,所以就學(xué)習(xí)了下使用python進(jìn)行串口控制。 

serial模塊安裝

pip install pyserial??

常用的方法函數(shù)

導(dǎo)入串口模塊import serial;

打開(kāi)串口ser = serial.Serial(端口名稱,...其他參數(shù)),ser.open()方法可以在close之后再次打開(kāi)相應(yīng)端口;

關(guān)閉串口ser.close();

通過(guò)串口寫(xiě)入ser.write(b''),參數(shù)需要使用字節(jié)bytes類型,如果是str類型,則可以使用encode('utf-8')的方式進(jìn)行轉(zhuǎn)換;

讀取模塊信息的方法如下,x = ser.read()讀取一個(gè)字節(jié),x=read(n)讀取n個(gè)字節(jié),readline()可以用來(lái)讀取一行。 

查看COM口工具 

python -m serial.tools.list_ports -v

可以列出所有串口名稱及屬性。 

Serial參數(shù)說(shuō)明 

  • port端口名字,windows下為'COM1'等;
  • baudrate (int)波特率,可以設(shè)置的范圍9600到115200;
  • bytesize為每個(gè)字節(jié)的比特?cái)?shù),設(shè)置值為FIVEBITS, SIXBITS,SEVENBITS, EIGHTBITS 5-8比特;
  • parity設(shè)置校驗(yàn)位PARITY_NONE, PARITY_EVEN,PARITY_ODD PARITY_MARK, PARITY_SPACE,用來(lái)設(shè)置校驗(yàn)位;
  • stopbits停止位,用來(lái)指示字節(jié)完成,可以選擇的設(shè)置STOPBITS_ONE, 

STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO;

  • write_timeout(float)寫(xiě)入超時(shí)設(shè)置;
  • timeout (float)讀出超時(shí)設(shè)置;
  • xonxoff (bool)軟件流控開(kāi)關(guān);
  • rtscts (bool)硬件RTS/CTS流控開(kāi)關(guān);
  • dsrdtr (bool)硬件DSR/DTR流控開(kāi)關(guān)。

關(guān)于UART流控兩線方式?jīng)]有硬件流控,四線方式采用DSR、DTR進(jìn)行流控,而RS232標(biāo)準(zhǔn)中可以有DSR、DTR的流控方式。

  • RTS-request to send 
  • CTS- clear to send
  • DSR-data set ready
  • DTR-Data Terminal Ready 

一個(gè)簡(jiǎn)單示例

#!usr/bin/python3.6
import serial
import sys
import os
import time
import re
global MAX_LOOP_NUM
global newCmd
MAX_LOOP_NUM = 10
def waitForCmdOKRsp():
    maxloopNum = 0
    while True:
        line = ser.readline()
        maxloopNum = maxloopNum + 1
        try:
            print("Rsponse : %s"%line.decode('utf-8'))
        except:
            pass
        if ( re.search(b'OK',line)):
            break
        elif(maxloopNum > MAX_LOOP_NUM):
            sys.exit(0)
def sendAT_Cmd(serInstance,atCmdStr,waitforOk):
    print("Command: %s"%atCmdStr)
    serInstance.write(atCmdStr.encode('utf-8'))
    #or define b'string',bytes should be used not str
    if(waitforOk == 1):
        waitForCmdOKRsp()
    else:
        waitForCmdRsp()
ser = serial.Serial("COM5",9600,timeout=30)
sendAT_Cmd(ser,'AT+CFUN=1\r',1)
ser.close()

總結(jié)

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

相關(guān)文章

  • 快速解決Django關(guān)閉Debug模式無(wú)法加載media圖片與static靜態(tài)文件

    快速解決Django關(guān)閉Debug模式無(wú)法加載media圖片與static靜態(tài)文件

    這篇文章主要介紹了快速解決Django關(guān)閉Debug模式無(wú)法加載media圖片與static靜態(tài)文件的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python批處理更改文件名os.rename的方法

    Python批處理更改文件名os.rename的方法

    今天小編就為大家分享一篇Python批處理更改文件名os.rename的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python編程求質(zhì)數(shù)實(shí)例代碼

    Python編程求質(zhì)數(shù)實(shí)例代碼

    這篇文章主要介紹了Python編程求質(zhì)數(shù)實(shí)例代碼,對(duì)求200,1000和100000以內(nèi)的質(zhì)數(shù)進(jìn)行了測(cè)試,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 在Python中操作文件之truncate()方法的使用教程

    在Python中操作文件之truncate()方法的使用教程

    這篇文章主要介紹了在Python中操作文件之truncate()方法的使用教程,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Pycharm 操作Django Model的簡(jiǎn)單運(yùn)用方法

    Pycharm 操作Django Model的簡(jiǎn)單運(yùn)用方法

    今天小編就為大家分享一篇Pycharm 操作Django Model的簡(jiǎn)單運(yùn)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 詳解python中字典的循環(huán)遍歷的兩種方式

    詳解python中字典的循環(huán)遍歷的兩種方式

    本篇文章主要介紹了python中字典的循環(huán)遍歷的兩種方式 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Python處理Excel文件遇到的常見(jiàn)問(wèn)題解析與解決

    Python處理Excel文件遇到的常見(jiàn)問(wèn)題解析與解決

    Python 的 pandas 庫(kù)提供了便捷的 read_excel() 方法,但在實(shí)際使用中,我們可能會(huì)遇到各種問(wèn)題,本文將分析這些常見(jiàn)錯(cuò)誤,并提供 Python 和 Java 的解決方案,有需要的可以參考下
    2025-04-04
  • 利用python numpy+matplotlib繪制股票k線圖的方法

    利用python numpy+matplotlib繪制股票k線圖的方法

    這篇文章主要介紹了利用python numpy+matplotlib繪制股票k線圖的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • opencv python 2D直方圖的示例代碼

    opencv python 2D直方圖的示例代碼

    這篇文章主要介紹了opencv python 2D直方圖的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python機(jī)器人運(yùn)動(dòng)范圍問(wèn)題的解答

    python機(jī)器人運(yùn)動(dòng)范圍問(wèn)題的解答

    這篇文章主要為大家詳細(xì)解答了python機(jī)器人的運(yùn)動(dòng)范圍問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論