中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python3中有沒有serial庫(kù)-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),潤(rùn)州企業(yè)網(wǎng)站建設(shè),潤(rùn)州品牌網(wǎng)站建設(shè),網(wǎng)站定制,潤(rùn)州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,潤(rùn)州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

這篇文章主要介紹python3中有沒有serial庫(kù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、概述

pyserial模塊封裝了對(duì)串口的訪問。

二、特性

·在支持的平臺(tái)上有統(tǒng)一的接口。

·通過python屬性訪問串口設(shè)置。

·支持不同的字節(jié)大小、停止位、校驗(yàn)位和流控設(shè)置。

·可以有或者沒有接收超時(shí)。 

·類似文件的API,例如read和write,也支持readline等。

·支持二進(jìn)制傳輸,沒有null消除,沒有cr-lf轉(zhuǎn)換。

三、系統(tǒng)要求

python 2.3及以上版本,包括py3k。

四、使用方法和實(shí)例

1、導(dǎo)入pyserial模塊

import serial

2、打開串行口

// 打開串口0, 9600,8N1,連接超時(shí)0.5秒

import serial

①選擇設(shè)備

ser=serial.Serial("/dev/ttyUSB0",9600,timeout=0.5) #使用USB連接串行口

ser=serial.Serial("/dev/ttyAMA0",9600,timeout=0.5) #使用樹莓派的GPIO口連接串行口

ser=serial.Serial(1,9600,timeout=0.5)#winsows系統(tǒng)使用com1口連接串行口

ser=serial.Serial("com1",9600,timeout=0.5)#winsows系統(tǒng)使用com1口連接串行口

ser=serial.Serial("/dev/ttyS1",9600,timeout=0.5)#Linux系統(tǒng)使用com1口連接串行口

print ser.name#打印設(shè)備名稱

print ser.port#打印設(shè)備名

ser.open() #打開端口

s = ser.read(10)#從端口讀10個(gè)字節(jié)

ser.write("hello")#向端口寫數(shù)據(jù)

ser.close()#關(guān)閉端口

data = ser.read(20) #是讀20個(gè)字符

data = ser.readline() #是讀一行,以/n結(jié)束,要是沒有/n就一直讀,阻塞。

data = ser.readlines()和ser.xreadlines()#都需要設(shè)置超時(shí)時(shí)間

ser.baudrate = 9600 #設(shè)置波特率

ser.isOpen() #看看這個(gè)串口是否已經(jīng)被打開

3、獲得串行口狀態(tài)

串行口的屬性:

name:設(shè)備名字

portstr:已廢棄,用name代替

port:讀或者寫端口

baudrate:波特率

bytesize:字節(jié)大小

parity:校驗(yàn)位

stopbits:停止位

timeout:讀超時(shí)設(shè)置

writeTimeout:寫超時(shí)

xonxoff:軟件流控

rtscts:硬件流控

dsrdtr:硬件流控

interCharTimeout:字符間隔超時(shí)      

①屬性

屬性的使用方法:

ser=serial.Serial("/dev/ttyAMA0",9600,timeout=0.5)

ser.open()

print ser.name

print ser.port

print ser.baudrate#波特率

print ser.bytesize#字節(jié)大小

print ser.parity#校驗(yàn)位N-無校驗(yàn),E-偶校驗(yàn),O-奇校驗(yàn)

print ser.stopbits#停止位

print ser.timeout#讀超時(shí)設(shè)置

print ser.writeTimeout#寫超時(shí)

print ser.xonxoff#軟件流控

print ser.rtscts#硬件流控

print ser.dsrdtr#硬件流控

print ser.interCharTimeout#字符間隔超時(shí)

ser.close()

4、設(shè)置串行口狀態(tài)

需要用的常量

bytesize:FIVE BITS、SIXBITS、SEVENBITS、EIGHTBITS

parity: PARITY_NONE, PARITY_EVEN, PARITY_ODD, PARITY_MARK, PARITY_SPACE

stopbits: STOPBITS_ONE, STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO

異常:

ValueError:參數(shù)錯(cuò)誤

SerialException:找不到設(shè)備或不能配置

ser.baudrate=9600#設(shè)置波特率

ser.bytesize=8#字節(jié)大小

ser.bytesize=serial.EiGHTBITS#8位數(shù)據(jù)位

ser.parity=serial.PARITY_EVEN#偶校驗(yàn)

ser.parity=serial.PARITY_NONE#無校驗(yàn)

ser.parity=serial.PARITY_ODD#奇校驗(yàn)

ser.stopbits=1#停止位

ser.timeout=0.5#讀超時(shí)設(shè)置

ser.writeTimeout=0.5#寫超時(shí)

ser.xonxoff#軟件流控

ser.rtscts#硬件流控

ser.dsrdtr#硬件流控

ser.interCharTimeout#字符間隔超時(shí)

5、Readline方法的使用

是讀一行,以/n結(jié)束,要是沒有/n就一直讀,阻塞。

使用readline()時(shí)應(yīng)該注意:打開串口時(shí)應(yīng)該指定超時(shí),否則如果串口沒有收到新行,則會(huì)一直等待。如果沒有超時(shí),readline會(huì)報(bào)異常。

6、serial.Serial類——原生端口

class serial.Serial 
{
    __init__(port=None, baudrate=9600, bytesize=EIGHTBITS,parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None,
    xonxoff=False, rtscts=False, writeTimeout=None, dsrdtr=False, interCharTimeout=None)
}
    #其中:
    # bytesize:FIVEBITS、SIXBITS、SEVENBITS、EIGHTBITS
    # parity: PARITY_NONE, PARITY_EVEN, PARITY_ODD, PARITY_MARK, PARITY_SPACE
    # stopbits: STOPBITS_ONE, STOPBITS_ONE_POINT_FIVE, STOPBITS_TWO
    #異常:
    #ValueError:參數(shù)錯(cuò)誤
    #SerialException:找不到設(shè)備或不能配置
    open():打開串口
    close():立即關(guān)閉串口
    __del__():析構(gòu)函數(shù)
    read(size=1):從串口讀size個(gè)字節(jié)。如果指定超時(shí),則可能在超時(shí)后返回較少的字節(jié);如果沒有指定超時(shí),
    則會(huì)一直等到收完指定的字節(jié)數(shù)。
    write(data):發(fā)送data,并返回發(fā)送字節(jié)數(shù)。如果bytes和bytearray可用(python 2.6以上),則接受其作為參數(shù);
    否則接受str作為參數(shù)。
    #異常:SerialTimeoutException——配置了寫超時(shí)并發(fā)生超時(shí)時(shí)發(fā)生此異常。
    inWaiting():返回接收緩存中的字節(jié)數(shù)
    flush():等待所有數(shù)據(jù)寫出。
    flushInput():丟棄接收緩存中的所有數(shù)據(jù)
    flushOutput():終止當(dāng)前寫操作,并丟棄發(fā)送緩存中的數(shù)據(jù)。
    sendBreadk(duration=0.25):發(fā)送BREAK條件,并于duration時(shí)間之后返回IDLE
    setBreak(level=True):根據(jù)level設(shè)置break條件。
    setRTS(level=True)
    setDTR(level=True)
    getCTS()
    getDSR()
    getRI()
    getCD()
    #只讀屬性:
    name:設(shè)備名字
    portstr:已廢棄,用name代替
    port:讀或者寫端口
    baudrate:波特率
    bytesize:字節(jié)大小
    parity:校驗(yàn)位
    stopbits:停止位
    timeout:讀超時(shí)設(shè)置
    writeTimeout:寫超時(shí)
    xonxoff:軟件流控
    rtscts:硬件流控
    dsrdtr:硬件流控
    interCharTimeout:字符間隔超時(shí)
    #端口設(shè)置可以被讀入字典,也可從字典加載設(shè)置:
    getSettingDict():返回當(dāng)前串口設(shè)置的字典
    applySettingDict(d):應(yīng)用字典到串口設(shè)置
    #對(duì)提供io庫(kù)的系統(tǒng)(python 2.6或以上),Serial從io.RawIOBase派生。對(duì)其它系統(tǒng),從FileLike派生。
    #異常:
    exception serial.SerialException
    exception serial.SerialTimeoutException
    #常量:
    serial.VERSION:pyserial版本
    #模塊函數(shù)和屬性:
    serial.device(number)
    serial.serial_for_url(url, *args, **kwargs)
    serial.protocol_handler_packages()
    serial.to_bytes(sequence):接收一個(gè)字符串或整數(shù)列表sequence,返回bytes實(shí)例
}

以上是python3中有沒有serial庫(kù)的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

分享題目:python3中有沒有serial庫(kù)-創(chuàng)新互聯(lián)
URL分享:http://www.rwnh.cn/article28/cejhcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站標(biāo)簽優(yōu)化、品牌網(wǎng)站制作網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
黔西县| 漾濞| 澳门| 博野县| 通河县| 集安市| 毕节市| 新巴尔虎右旗| 静宁县| 睢宁县| 邹平县| 天柱县| 古田县| 五台县| 荥阳市| 兰西县| 诏安县| 孟连| 托里县| 通江县| 敖汉旗| 平原县| 新龙县| 姚安县| 宽甸| 基隆市| 舟曲县| 新余市| 密山市| 乃东县| 平凉市| SHOW| 会理县| 泽普县| 云梦县| 双柏县| 东安县| 岑巩县| 曲水县| 托克逊县| 监利县|