**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
应用很简单,uart接收完成后,发送接收数据,但问题是在发送数据的过程中,接收数据被忽略,如下图所示,包1约26 K字节,约237,其他包约2K字节。
数据包2~4被忽略:
我试过uart dma,interrupt.但是数据还是被忽略了。还有别的办法吗?
MCU:STM32 F413波特率:921600个基点
1条答案
按热度按时间fdx2calv1#
是否使用DMA或IRQ句柄?
我更喜欢在并行RX/TX应用中使用DMA。这是一个用硬件任务卸载CPU的好方法。DMA在STM32中非常强大。
切换到
HAL_UART_Receive_DMA()
和HAL_UART_Transmit_DMA()
的大部分工作已经在那里完成了。