发布时间:2025-12-09 15:54:43 浏览次数:4
uart 模块主要用于驱动开发板上的异步串口,可以自由对 uart 进行配置。k210 一共有3个 uart,每个 uart 可以进行自由的引脚映射
在使用 uart 前,我们需要使用 fm 来对芯片引脚进行映射和管理。如下所示,将 PIN10 设置为 uart1的发送引脚,PIN11 设置为 uart1 的接收引脚。
fm.register(board_info.PIN10, fm.fpioa.UART1_TX, force=True)fm.register(board_info.PIN11, fm.fpioa.UART1_RX, force=True)通过指定的参数新建一个 UART 对象
参数说明:
参数
num: 读取字节的数量,一般填入缓冲大小,如果缓冲中数据的数量没有 num 大,那么将只返回缓冲中剩余的数据
返回值
bytes类型的数据
用于读取串口缓冲数据的一行
参数
num: 读取行的数量
返回值
*bytes类型的数据
3、
uart.write(buf)用于使用串口发送数据
参数
buf: 需要发送到数据
返回值
写入的数据量
注销 UART 硬件,释放占用的资源
参数
无
返回值
无
在运行里程之前,请确认 PIN4 已经连接到 PIN10, PIN3 已经连接到 PIN11
运行程序后,可以在终端看到 baudrate:115200 bits:8 parity:0 stop:0 ---check Successfully 的打印信息
以下例程对于Bit开发是不能直接进行使用,需要修改对应可用的PIN脚,可自行尝试
from machine import UARTfrom board import board_infofrom fpioa_manager import fm## maixduino board_info PIN10/PIN11/PIN12/PIN13 or other hardware IO 10/11/4/3fm.register(board_info.PIN10, fm.fpioa.UART1_TX, force=True)fm.register(board_info.PIN11, fm.fpioa.UART1_RX, force=True)fm.register(board_info.PIN3, fm.fpioa.UART2_TX, force=True)fm.register(board_info.PIN4, fm.fpioa.UART2_RX, force=True)uart_A = UART(UART.UART1, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096)uart_B = UART(UART.UART2, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096)write_str = 'hello world'for i in range(20):uart_A.write(write_str)read_data = uart_B.read()if read_data:read_str = read_data.decode('utf-8')print("string = ", read_str)if read_str == write_str:print("baudrate:115200 bits:8 parity:0 stop:0 ---check Successfully")uart_A.deinit()uart_B.deinit()del uart_Adel uart_B