KF8F3132 的 Usart 模块核心用法是 “中断驱动收发 + 灵活寄存器配置”,支持异步通信、多字节数据传输,通过简单配置即可实现 PC 与开发板的双向交互,核心应用场景包括串口指令响应、数据上报,实操关键是做好引脚映射、波特率校准和中断使能。
资料获取:KF8F系列单片机KF8F3132开发板应用笔记之Usart模块
点击:芯旺微电子 了解产品、技术资料、电路方案、文章/视讯、直播/课程等相关信息
1. 核心概述
1.1 模块功能
- 支持异步通信模式,8 位数据位、1 位停止位(可配置),无奇偶校验 / 奇偶校验可选;
- 支持中断驱动收发,避免轮询占用 CPU 资源,适配多字节连续传输场景;
- 波特率可通过寄存器灵活配置,默认支持 9600bps,兼容不同通信速率需求。
1.2 典型应用
- 串口指令响应:PC 发送指定十六进制指令(1H/2H),开发板返回对应字符串(HELLO!/ByeBye!);
- 数据上报:开发板采集传感器数据后,通过 Usart 主动发送至 PC 端;
- 设备调试:通过串口输出调试信息,辅助排查程序问题。
2. 硬件连接与串口配置
2.1 硬件接线(USB-USART 模块 ↔ 开发板)
| USB-USART 模块引脚 | KF8F3132 开发板引脚 | 说明 |
|---|---|---|
| TX | P14 | 数据接收端(开发板 RX) |
| RX | P16 | 数据发送端(开发板 TX) |
| GND | GND | 共地,保障通信稳定 |
| 5V | VCC | 开发板供电 |
2.2 串口助手配置
- 波特率:9600bps(可通过寄存器修改);
- 数据位:8 位;
- 停止位:1 位;
- 奇偶校验:无;
- 发送模式:16 进制发送,支持单条 / 多条发送。
3. 关键寄存器配置(核心操作)
Usart 模块配置核心是 “时钟 + 引脚 + 波特率 + 中断” 四步走,关键寄存器及配置要点如下:
3.1 基础配置寄存器
| 寄存器 | 地址 | 核心功能 | 关键配置位 / 值 |
|---|---|---|---|
| OSCCTL | 2FH | 系统时钟配置 | 配置 16M 系统时钟(SCLK) |
| TR1 | 27H | P1 口方向控制 | 配置 P14(RX)为输入,P16(TX)为输出 |
| RSCTL | 120H | 接收状态与控制 | 使能串口模块、连续接收(CRXEN=1) |
| BRCTL | 123H | 波特率控制 | BRG16(波特率发生器位数)、SCKPS(时钟分频) |
| TSCTL | 124H | 发送状态与控制 | 使能发送功能(TXEN=1) |
| EUBRGL/EUBRGH | 无 | 波特率数据寄存器(低 / 高字节) | 9600bps 时配置为 EUBRGL=25,EUBRGH=0 |
3.2 波特率计算与倍频器选择
(1)核心公式
- SCLK:系统主时钟(默认 16MHz);
- m:倍频器系数(由 SYNC、BRG16、HBRG 位组合决定);
- [EUBRGH:EUBRGL]:波特率寄存器组合值(16 位)。
(2)倍频器 m 选择表
| SYNC | BRG16 | HBRG | 工作模式 | 倍频器 m |
|---|---|---|---|---|
| 0 | 0 | 0 | 8 位 / 异步 | 64 |
| 0 | 0 | 1 | 8 位 / 异步 | 16 |
| 0 | 1 | 0 | 16 位 / 异步 | 16 |
| 0 | 1 | 1 | 16 位 / 异步 | 8 |
| 1 | 0 | X | 8 位 / 同步 | 16 |
| 1 | 1 | X | 16 位 / 同步 | 8 |
3.3 中断使能关键位
- RCIE:Usart 接收中断使能位(RSCTL 寄存器);
- PUIE:外设中断使能位;
- AIE:总中断使能位;
- RCIF:接收中断标志位(中断触发后需清零)。
4. 软件实现流程(中断驱动)
4.1 初始化流程(核心步骤)
4.2 中断处理函数(接收 + 响应)
4.3 多字节发送函数
4.4 主函数逻辑
5. 测试验证步骤
- 按硬件接线图连接开发板与 USB-USART 模块,接通电源;
- 打开串口助手,配置波特率 9600、8 数据位、1 停止位、无奇偶校验;
- 选择 “16 进制发送”,发送
01,开发板返回 “HELLO!”; - 发送
02,开发板返回 “ByeBye!”; - 若未收到响应,检查引脚连接、寄存器配置(尤其是波特率和中断使能位)。
6. 关键注意事项(避坑指南)
- 引脚映射选择:UARTPIN=0 时 RX=P14、TX=P16;UARTPIN=1 时 RX=P0.0、TX=P0.1,14/16 引脚使用时 UARTPIN 必须设为 1;
- 波特率校准:若通信乱码,优先检查 SCLK 频率与 EUBRGL/EUBRGH 配置,确保公式计算无误,倍频器 m 需与 BRCTL 寄存器配置匹配;
- 中断使能顺序:必须先使能外设中断(PUIE)和总中断(AIE),再使能 Usart 接收中断(RCIE),否则中断无法触发;
- 发送等待:发送数据前需等待 TXSRS(发送移位寄存器状态位)为空闲,避免数据丢失;
- 帧格式:默认 1 位起始位 + 8 位数据位 + 1 位停止位,奇偶校验需通过 RSCTL 寄存器额外配置。
KF8F3132 的 Usart 模块实操核心是 “寄存器精准配置 + 中断驱动”,无需复杂逻辑即可实现稳定的多字节通信。按 “硬件接线→时钟配置→波特率校准→中断使能→收发函数” 的步骤操作,最快 10 分钟即可完成基础通信功能落地,适配多数串口交互场景。
阅读全文
314