基本用法 from pyb import UART u1 = UART(1, 9600)
u1.writechar(65)
u1.write('123')
u1.readchar()
u1.readall()
u1.readline()
u1.read(10)
u1.readinto(buf)
u1.any()
串口方法
uart.init(baudrate, bits=8, parity=None, stop=1, *, timeout=1000, flow=None, timeout_char=0, read_buf_len=64),初始化
baudrate:波特率
bits:数据位,7/8/9
parity:校验,None, 0 (even) or 1 (odd)
stop:停止位,1/2
flow:流控,可以是 None, UART.RTS, UART.CTS or UART.RTS | UART.CTS
timeout:读取打一个字节超时时间(ms)
timeout_char:两个字节之间超时时间
read_buf_len:读缓存长度
uart.deinit():关闭串口
uart.any():返回缓冲区数据个数,大于0代表有数据
uart.writechar(char):写入一个字节
uart.read([nbytes]):读取最多nbytes个字节。如果数据位是9bit,那么一个数据占用两个字节,并且nbytes必须是偶数
uart.readall():读取所有数据
uart.readchar():读取一个字节
uart.readinto(buf[, nbytes])
buf:数据缓冲区
nbytes:最大读取数量
uart.readline():读取一行
uart.write(buf):写入缓冲区。在9bits模式下,两个字节算一个数据
uart.sendbreak():往总线上发送停止状态,拉低总线13bit时间
串口对应GPIO
UART(4) is on XA: (TX, RX) = (X1, X2) = (PA0, PA1) UART(1) is on XB: (TX, RX) = (X9, X10) = (PB6, PB7) UART(6) is on YA: (TX, RX) = (Y1, Y2) = (PC6, PC7) UART(3) is on YB: (TX, RX) = (Y9, Y10) = (PB10, PB11) UART(2) is on: (TX, RX) = (X3, X4) = (PA2, PA3) |