周半梅
发表于 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
若波特率较高,且数据帧密集发送,接收缓冲区可能被快速填满,导致后续数据丢失。
页:
[1]