UART 串口
1.实验目的
本实验通过 MicroPython 控制 K230 的 UART3 接口,实现串口的:
- 引脚映射(通过 FPIOA)
- 串口初始化
- 串口发送数据
- 串口接收数据(read / readline / readinto)
适合用于与外部串口设备(如传感器、PC、蓝牙模块等)进行通信。
2.实验原理
UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是一种常见的串行通信协议,用于点对点传输数据。在嵌入式系统中非常常见。
常见配置参数包括:
- 波特率:数据传输速率(如 9600、115200)
- 数据位:每帧数据的位数(如 8 位)
- 校验位:用于检测错误(可无)
- 停止位:帧末尾标志位(通常 1 位)
K230内部包含五个UART硬件模块,其中UART0系统 的默认终端占用,剩余UART3,UART1,UART2,UART4。下面介绍默认提供的默认提供串口的位置:
UART0:
UART3:
UART2:
UART2可用ZH1.5mm间距端子线连接!!!
3.代码解析
导入模块
from machine import UART
from machine import FPIOA
导入控制串口(UART)和引脚映射(FPIOA)的模块。
实例化 FPIOA
fpioa = FPIOA()
引脚功能重映射
复用引脚功能
fpioa.set_function(44, fpioa.UART2_TXD)
fpioa.set_function(45, fpioa.UART2_RXD)
将物理引脚 GPIO44 和 GPIO45 分别配置为 UART2 的 TX(发送)和 RX(接收)功能。
uart = UART(UART.UART2, baudrate=115200, bits=UART.EIGHTBITS,
parity=UART.PARITY_NONE, stop=UART.STOPBITS_ONE)
初始化 UART3,设置参数:
- 波特率:115200
- 数据位:8 位
- 校验位:无
- 停止位:1 位
发送字符串
r = uart.write("UART test")
print(r)
通过串口发送字符串 "UART test"
,返回写入字节数。