打印
[STM32H7]

SPI + DMA 传输,提前触发DMA 完成中断如何解决

[复制链接]
537|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


STM32H7:
SPI4 传输 + DMA
开启完成中断;
实际波形如上:
就是SPI 10个字节还没有发完,就触发了DMA Rx传输完成中断;
不知道有没有大神遇到过,是因为 SPI FIFO 导致?我开的是 SPI 接收通道的 DMA 完成中断呀;



tam8140_drv_h723_144.zip

3.54 KB

cube配置文件

使用特权

评论回复
沙发
香水城| | 2025-5-22 11:01 | 只看该作者
你能描述多点吗? 你的文件只是个IOC配置,用到SPI1 SPI4都做MASTER.

会不会是你数据处理或GPIO翻转方面的原因?

使用特权

评论回复
板凳
xiaofei558008|  楼主 | 2025-5-22 13:37 | 只看该作者
git@gitee.com:xiaofei558008/tst.git
https://gitee.com/xiaofei558008/tst.git
https://gitee.com/xiaofei558008/tst
代码推送到 gitee 上了;main.c 的default task里 tam8140 发送10个字节,等待 dma spi 接收中断,使能事件;
default task 获取事件后继续执行,处理数据;

使用特权

评论回复
地板
wangshujun| | 2025-5-23 09:06 | 只看该作者
dma传输后如果马上控制转换的话,应该是先dma完成中断,在这个中断里面启用对应外设的完成中断,在传输完成中断里面切换状态
适用于spi的cs控制,485的de控制等

使用特权

评论回复
5
dffzh| | 2025-5-23 09:09 | 只看该作者
官网没有demo程序吗?

使用特权

评论回复
评论
xiaofei558008 2025-5-23 10:56 回复TA
这个倒是没看,原来的工程改吧改吧; 
6
xiaofei558008|  楼主 | 2025-5-23 10:56 | 只看该作者
改成 g431的板子,分分钟解决问题,一切正常了

使用特权

评论回复
7
dffzh| | 2025-5-23 11:25 | 只看该作者
xiaofei558008 发表于 2025-5-23 10:56
改成 g431的板子,分分钟解决问题,一切正常了

怎么一下子就能从STM32H7系列切换到STM32G431系列?硬件备选方案打PCB板这么快的吗?

使用特权

评论回复
8
4y1b3| | 2025-5-31 23:49 | 只看该作者
DMA 中断提前来没关系,只要你在 DMA 回调中 加一段检查 SPI 的状态

使用特权

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

本版积分规则

142

主题

994

帖子

13

粉丝