[MicroPython]TPYBoard 关于串口的使用 | 快速入门 | 技术支持 | MicroPython


当前位置:首页>技术支持>快速入门>[MicroPython]TPYBoard 关于串口的使用

[MicroPython]TPYBoard 关于串口的使用

原创版权归山东萝卜科技有限公司所有,转载必须以链接形式注明作者和原始出处。


    基本用法


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(9600, bits=8, parity=None, stop=1,timeout=1000, flow=0,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.read()

读取所有数据

uart.readchar()

读取一个字节,超时返回-1

uart.readinto(buf[, nbytes])
  • buf:数据缓冲区

  • nbytes:最大读取数量

uart.readline()

读取一行

uart.write(buf)

写入缓冲区。在9bits模式下,两个字节算一个数据

uart.sendbreak()

往总线上发送停止状态,拉低总线13bit时间

串口对应GPIO


UART(4) is on:(TX, RX) = (X1, X2) = (PA0,  PA1)
UART(1) is on:(TX, RX) = (X9, X10) = (PB6,  PB7)
UART(6) is on:(TX, RX) = (Y1, Y2) = (PC6,  PC7)
UART(3) is on:(TX, RX) = (Y9, Y10) = (PB10, PB11)
UART(2) is on:(TX, RX) = (X3, X4) = (PA2,  PA3)