呐咯密密 发表于 2024-8-7 10:56

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

使用的是SPI+DMA的方式通信,正常没问题,有时候不需要DMA或者关闭DMA,直接访问SPI的数据寄存器,得到的数据不对,这个怎么处理。

可怜的小弗朗士 发表于 2024-8-12 09:33

应该是DMA的启动和停止没有和SPI的启动停止进行同步

ArterySW 发表于 2024-8-12 09:57

SPI通讯数据的获取方式有“DMA、中断、轮询”三种,这三种是互斥关系。为避免数据异常,应用修改数据获取方式应该尽量保障在SPI空闲状态下开展(比如若SPI作为主机,则在关闭SPI后进行修改)。
页: [1]
查看完整版本: F403使用DMA+SPI通信过程中关闭DMA导致数据错误