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

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

 更新時(shí)間:2023年09月06日 17:04:27   作者:究理觀心  
這篇文章主要介紹了使用python pyserial模塊串口通信方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(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;

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

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

通過串口寫入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()可以用來讀取一行。 

查看COM口工具 

python -m serial.tools.list_ports -v

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

Serial參數(shù)說明 

  • 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,用來設(shè)置校驗(yàn)位;
  • stopbits停止位,用來指示字節(jié)完成,可以選擇的設(shè)置STOPBITS_ONE, 

STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO;

  • write_timeout(float)寫入超時(shí)設(shè)置;
  • timeout (float)讀出超時(shí)設(shè)置;
  • xonxoff (bool)軟件流控開關(guān);
  • rtscts (bool)硬件RTS/CTS流控開關(guān);
  • dsrdtr (bool)硬件DSR/DTR流控開關(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è)簡單示例

#!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)文章

  • python辦公自動(dòng)化(Excel)的實(shí)例教程

    python辦公自動(dòng)化(Excel)的實(shí)例教程

    使用Excel自動(dòng)化處理,將會(huì)用到Python第三方庫,所以我們需要提前通過來進(jìn)行安裝,下面這篇文章主要給大家介紹了關(guān)于python辦公自動(dòng)化(Excel)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Keras Convolution1D與Convolution2D區(qū)別說明

    Keras Convolution1D與Convolution2D區(qū)別說明

    這篇文章主要介紹了Keras Convolution1D與Convolution2D區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pytorch實(shí)現(xiàn)線性回歸

    pytorch實(shí)現(xiàn)線性回歸

    這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)線性回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • numba提升python運(yùn)行速度的實(shí)例方法

    numba提升python運(yùn)行速度的實(shí)例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于numba提升python運(yùn)行速度的實(shí)例方法,有興趣的朋友們可以參考下。
    2021-01-01
  • Django 表單模型選擇框如何使用分組

    Django 表單模型選擇框如何使用分組

    這篇文章主要介紹了Django 表單模型選擇框如何使用分組,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 基于python不同開根號的速度對比分析

    基于python不同開根號的速度對比分析

    這篇文章主要介紹了基于python不同開根號的速度對比分析,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中查看變量的類型內(nèi)存地址所占字節(jié)的大小

    Python中查看變量的類型內(nèi)存地址所占字節(jié)的大小

    這篇文章主要介紹了Python中查看變量的類型,內(nèi)存地址,所占字節(jié)的大小,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 使用python讀取CSV文件時(shí)遇到編碼問題解決方案

    使用python讀取CSV文件時(shí)遇到編碼問題解決方案

    這篇文章主要介紹了用python讀取CSV文件時(shí)遇到編碼問題,本文給大家分享最優(yōu)解決方案,通過使用csvkit,它使用自動(dòng)檢測適當(dāng)?shù)木幋a和解碼,需要的朋友可以參考下
    2023-08-08
  • 使用國內(nèi)鏡像源創(chuàng)建離線PyPI鏡像的完整方案

    使用國內(nèi)鏡像源創(chuàng)建離線PyPI鏡像的完整方案

    根據(jù)知識(shí)庫信息,清華鏡像已明確會(huì)阻斷大量下載行為的請求,為避免此問題,我將提供一個(gè)安全使用國內(nèi)鏡像源的完整方案,確保能夠一次性準(zhǔn)備指定Python版本的所有包,然后導(dǎo)出到內(nèi)網(wǎng)環(huán)境,需要的朋友可以參考下
    2025-09-09
  • 使用EditPlus編輯器運(yùn)行Python程序方式

    使用EditPlus編輯器運(yùn)行Python程序方式

    這篇文章主要介紹了使用EditPlus編輯器運(yùn)行Python程序方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-12-12

最新評論

承德县| 临清市| 漳州市| 康平县| 祁门县| 德庆县| 旺苍县| 肇庆市| 民县| 蚌埠市| 会同县| 湘乡市| 松原市| 寻甸| 黄大仙区| 宁陵县| 逊克县| 海晏县| 札达县| 巴南区| 上饶市| 堆龙德庆县| 海门市| 井研县| 河北省| 景德镇市| 会宁县| 新邵县| 长治市| 广宁县| 兴海县| 漳州市| 海丰县| 东乡族自治县| 穆棱市| 马尔康县| 安阳市| 凤庆县| 凤城市| 闵行区| 进贤县|