打印
[AT32F403/403A]

F403使用DMA+SPI通信过程中关闭DMA导致数据错误

[复制链接]
1093|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呐咯密密|  楼主 | 2024-8-7 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用的是SPI+DMA的方式通信,正常没问题,有时候不需要DMA或者关闭DMA,直接访问SPI的数据寄存器,得到的数据不对,这个怎么处理。

使用特权

评论回复
沙发
可怜的小弗朗士| | 2024-8-12 09:33 | 只看该作者
应该是DMA的启动和停止没有和SPI的启动停止进行同步

使用特权

评论回复
板凳
ArterySW| | 2024-8-12 09:57 | 只看该作者
SPI通讯数据的获取方式有“DMA、中断、轮询”三种,这三种是互斥关系。为避免数据异常,应用修改数据获取方式应该尽量保障在SPI空闲状态下开展(比如若SPI作为主机,则在关闭SPI后进行修改)。

使用特权

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

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

452

主题

3520

帖子

45

粉丝