[开发工具] 串口数据一发多了就丢,是不是缓冲区不够?

[复制链接]
 楼主| 周半梅 发表于 2025-4-13 07:17 | 显示全部楼层 |阅读模式
用HAL库的时候,是不是默认缓冲设置太小了点?
Clyde011 发表于 2025-4-13 07:24 | 显示全部楼层
看一下USART状态寄存器,有没有错误标志。
Uriah 发表于 2025-4-13 07:25 | 显示全部楼层
可以加个LED调试一下丢数据那一瞬间。
Pulitzer 发表于 2025-4-13 07:25 | 显示全部楼层
看串口中断优先级,会不会被其他中断打断?
Bblythe 发表于 2025-4-13 07:26 | 显示全部楼层
我用RTOS的时候也遇到,可能是调度延迟。
Wordsworth 发表于 2025-4-13 07:27 | 显示全部楼层
可以试试开FIFO,看会不会缓解。
公羊子丹 发表于 2025-4-13 07:28 | 显示全部楼层
看看HAL库里那个发送函数是不是阻塞的?
 楼主| 周半梅 发表于 2025-4-13 07:29 | 显示全部楼层
DMA收发试过吗?效率会好很多。
帛灿灿 发表于 2025-4-13 07:30 | 显示全部楼层
我之前是中断模式丢字节,后来改DMA就好了。
童雨竹 发表于 2025-4-13 07:30 | 显示全部楼层
收数据的时候你是不是没及时处理?
万图 发表于 2025-4-13 07:31 | 显示全部楼层
我一般都会自己写环形缓冲区。
qintian0303 发表于 2025-4-13 11:44 | 显示全部楼层
串口数据一发多了就丢,是单片机发送丢还是你给他发,他收的时候丢  
laocuo1142 发表于 2025-4-14 15:50 | 显示全部楼层
串口数据多发就丢缓冲区不足是常见原因之一,但并非唯一可能。
flycamelaaa 发表于 2025-4-14 19:23 | 显示全部楼层
中断优先级不足,DMA 模式未启用或配置错误也可能导致缓冲区不足。
laocuo1142 发表于 2025-4-14 20:00 | 显示全部楼层
若波特率较高,且数据帧密集发送,接收缓冲区可能被快速填满,导致后续数据丢失。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

149

主题

5792

帖子

1

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