|
743 单工只接收SPI做从接收AD7768非标准SPI口数据时发现,DMA接收固定长度数据后,并未立即进入DMA传输完成中断,而是在SPI的CS拉高后才进入了DMA传输完成中断。从现象看DMA传输完成中断不是以指定数据传输完成就可以进中断?有好心人可以指路下相关资料么? 补充波形和代码,还请帮看下是测量逻辑不对? 主机输出非标准SPI,黄色CS,蓝色MOSI,红色SCK。DMA接收长度为32字,理论蓝色数据传输完进中断
DMA中断内控制GPIO引脚,红色波形为GPIO,GPIO置高时远在DMA传输完成之后。
|
串口DMA收发出现ORE错误
STM32F3系列SDADC外部触发 DMA运输的bug
STM32H563的QSPI接口不能读取W25Q256的后128MB数据
STM32C5 HAL SPI CRC 错误无法触发错误回调
HAL 库建议支持GPIO 同时配置为AF 与外部中断 EXTI
stm32H723 tim23和tim24 中间对齐模式无效
SPI 发送数据需要等待哪些状态标志位?
stm32H723 tim23和tim24是不是不支持中间对齐模式?
两个变量内存地址重叠,相互影响
关于l9663的SPI通信问题
微信公众号
手机版
不过DMA的响应和搬运完成再到产生中断是需要一定时间的。
也有可能延迟后恰巧和CS 上升的时间差不多。
如果SPI的CS不拉高 难道就不发生DMA传输完成中断了?估计是你测量或评估上的误会。
您好,我补充波形和代码,还请帮看下是我哪里的逻辑不对么?谢谢
您好,我补充波形和代码,还请帮看下是我哪里的逻辑不对么?谢谢
不过通常Cube库都是同时使能了DMA的其他中断,尤其是半完成中断。
楼主可以检查一下,如果使能了而没处理的话,那执行起来就会有影响了。
可以看看这一点。