[技术问答] M031LE3AE USCI0串口模式发送错误

[复制链接]
1550|13
 楼主| cr315 发表于 2025-2-17 20:00 | 显示全部楼层 |阅读模式

使用M031LE3AE USCI0 配置为串口模式时,发送一次数据后程序跑飞,可以接收数据,但是不能发送,一发送就死机
gra22ce 发表于 2025-6-5 11:33 | 显示全部楼层
在 M031LE3AE 上配置 USCI0 为 UART 模式 时,遇到 发送数据后程序跑飞(但接收正常)的问题,通常与 中断冲突、寄存器配置错误、时钟源不稳定 或 DMA 配置异常 有关
nuan11nuan 发表于 2025-6-5 12:45 | 显示全部楼层
发送中断(TXI)未正确清除,导致反复触发中断,程序跑飞。接收中断(RXI)和发送中断(TXI)冲突,导致中断嵌套异常。
twinkhahale 发表于 2025-6-5 13:50 | 显示全部楼层
USCI0 寄存器配置错误,波特率计算错误,导致 UART 时序异常。
pe66ak 发表于 2025-6-5 15:03 | 显示全部楼层
数据位、停止位、校验位配置不匹配(如设备端是 8N1,但 MCU 配置为 9E2)。
yuliangren 发表于 2025-6-5 16:10 | 显示全部楼层
发送缓冲区未就绪(TXRDY 未置位) 时强行写入数据。
tiakon 发表于 2025-6-5 17:21 | 显示全部楼层
HIRC(内部高速时钟)或外部晶振未稳定,导致 UART 时序错误。时钟分频错误,导致 USCI0 模块工作异常。
teaccch 发表于 2025-6-5 19:07 | 显示全部楼层
DMA 配置问题(如果使用 DMA 发送)DMA 目标地址错误,导致写入非法内存。DMA 传输未完成标志未清除,导致后续发送卡死。
canfeil 发表于 2025-6-6 09:08 | 显示全部楼层
建议检查 USCI0 初始化代码,确保 USCI0_UART 正确配置,示例代码(基于新唐 BSP)
星星点点didi 发表于 2025-6-6 11:36 | 显示全部楼层
如果使用中断发送,确保 TXI(发送中断)正确清除,如果 未使用中断发送,确保轮询方式检查 TXRDY
nqty 发表于 2025-6-6 13:02 | 显示全部楼层
一定要保证HIRC(内部高速时钟)稳定如果使用外部晶振,检查是否起振
神明祷告 发表于 2025-7-3 22:54 | 显示全部楼层
检查波特率配置、引脚连接、数据格式是否匹配,及 TX 缓冲区溢出情况。
世纪女孩 发表于 2025-7-15 13:29 | 显示全部楼层
一般可能就这几个原因,[color=rgba(0, 0, 0, 0.85)]检查波特率配置、引脚连接、数据格式,确认 TX/RX 是否反接及缓冲区状态
野玫瑰 发表于 2025-8-28 11:05 | 显示全部楼层
M031LE3AE 的 USCI0 串口发送错误可能由多种原因导致。先检查引脚配置,确认 TX/RX 引脚是否正确复用为 USCI0 功能,而非通用 IO。
波特率计算错误会导致通信异常,需根据系统时钟准确配置分频寄存器。
发送缓冲区未空时连续写入数据,会引发溢出错误,应等待发送完成标志位再操作。
此外,中断服务程序若未正确清除标志位,可能导致发送中断异常。可通过示波器监测 TX 引脚波形,结合寄存器状态排查问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1466

主题

4964

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部