Python語言串列埠的操作

2021-07-11 16:24:54 字數 2803 閱讀 3911

1.簡介

python中有專門的串列埠操作模組pyserial,使用非常簡單。

pyserial

的資源**

github

資源和一些使用教程的**:

串列埠操作文件

2  pyserial

的安裝

pip install pyserial

or:easy_install -u pyserial

3.python串列埠操作簡單介紹

class serial.serial

__init__(port=none, baudrate=9600, bytesize=eightbits, parity=parity_none, stopbits=stopbits_one, 

timeout=none, xonxoff=false,rtscts=false, write_timeout=none, dsrdtr=false, inter_byte_timeout=none)

port:

如com1,com2,com3,com4......

如果port

設定為0

對應的為

com1

baudrate

:設定波特率

bytesize:

資料位

stopbits:

停止位

timeout:

超時時間

open port at 「9600,8,n,1」, no timeout:

>>> 

import

serial

>>>ser

=serial

.serial

('/dev/ttyusb0'

)# open serial port

>>> 

print(

ser.

name

)# check which port was really used

>>>ser

.write(b

'hello'

)# write a string

>>>ser

.close

()# close port

open named port at 「19200,8,n,1」, 1s timeout:

>>> 

withserial

.serial

('/dev/ttys1'

,19200

,timeout=1

)asser:

...x

=ser

.read

()# read one byte

...s

=ser

.read(10

)# read up to ten bytes (timeout)

...line

=ser

.readline

()# read a '\n' terminated line

open port at 「38400,8,e,1」, non blocking hw handshaking:

>>>ser

=serial

.serial

('com3'

,38400

,timeout=0

,

...parity

=serial

.parity_even

,rtscts=1

)

>>>s

=ser

.read

(100

)# read up to one hundred bytes

...

# or as much is in the buffer

乙個讀寫的例子

import serial  

from time import sleep

ser = serial.serial('/dev/ttyusb0', 9600, timeout=0.5)

def recv(serial):

while true:

data =serial.read(30)

if data == '':

continue

else:

break

sleep(0.02)

return data

while true:

data =recv(ser)

ser.write(data)

python虛擬串列埠 python 虛擬串列埠通訊

準備著手寫乙個串列埠工具,當前程式設計環境,並沒有辦法接好下位機平台,需要模擬出乙個串列埠,不斷傳送資訊,方便除錯串列埠工具。這兩個串列埠是互相接通的,乙個com 可以當作上位機,乙個com可以當作下位機 2.python 實現向乙個串列埠內寫資料,另乙個串列埠內接受資料 usr bin pytho...

串列埠操作類

using system using system.collections.generic using system.linq using system.text using system.io.ports namespace communicationcomm region 傳送接收資料 publ...

串列埠操作類

public int handle public commport string comstr 設定dcb標誌位 internal void setdcbflag int whichflag,int setting,dcb dcb else if whichflag 15 else dcb.flag...