打印
[STM32F2]

串口DMA接收的数据总是比发送的慢一拍

[复制链接]
862|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
motor666|  楼主 | 2018-12-21 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 motor666 于 2018-12-21 16:50 编辑

把USART3配置成DMA接收,空闲中断,接收不定长的数据,发现接收到的数据总是比发送过来的数据慢一拍,例如:
发送 : 0x00  0x01  0x02 0x03   接收到的数据:0x00  0x00  0x00 0x00
发送 : 0x04  0x05  0x06 0x07   接收到的数据:0x00  0x01  0x02 0x03
发送 : 0x08  0x09  0x0A 0x0B   接收到的数据:0x04  0x05  0x06 0x07

沙发
mmuuss586| | 2018-12-23 20:04 | 只看该作者
程序问题,贴出来看看

使用特权

评论回复
板凳
pattywu| | 2018-12-23 21:41 | 只看该作者
估计是FIFO的问题。

使用特权

评论回复
地板
motor666|  楼主 | 2018-12-24 15:49 | 只看该作者
DMA_InitStructure.DMA_FIFOMode  = DMA_FIFOMode_Disable;  
就可以了。

使用特权

评论回复
5
观海| | 2019-1-2 11:32 | 只看该作者
我极少用dma方式  

使用特权

评论回复
6
heimaojingzhang| | 2019-1-2 11:42 | 只看该作者
试试地板的方法

使用特权

评论回复
7
xiaoqizi| | 2019-1-2 12:24 | 只看该作者
试试普通模式呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

174

主题

422

帖子

1

粉丝