硬汉嵌入式论坛

 找回密码
 立即注册
查看: 759|回复: 4
收起左侧

[SPI/QSPI] SPIDMA传输总是不进传输完成中断是怎么回事?

[复制链接]

10

主题

34

回帖

64

积分

初级会员

积分
64
发表于 2022-11-12 19:58:54 | 显示全部楼层 |阅读模式
用25Mhz的SPI2通过DMA方式把存储在SRAM2上面的数据发到SPI外设一直不成功,传输数据量为20485byte,实测轮询可以,但是DMA就一直卡在等待标志位的while循环里面。下面是SPIDMA发送的代码。
image.png
中断完成标志位
image.png
这是为什么呢?

回复

使用道具 举报

12

主题

153

回帖

204

积分

高级会员

积分
204
发表于 2022-11-13 12:12:06 | 显示全部楼层
使用DMA方式的话是否应该在DMA中断中进行标志位置位?
回复

使用道具 举报

10

主题

34

回帖

64

积分

初级会员

积分
64
 楼主| 发表于 2022-11-13 12:57:15 | 显示全部楼层
WZH 发表于 2022-11-13 12:12
使用DMA方式的话是否应该在DMA中断中进行标志位置位?

我尝试过,效果与在SPI中断进行标志位置位一样。另外根据网上的一些经验,说DMA中断再传输的过程会进入2次,应该是半传输完成会进去一次,全传输完成又会进去一次,所以避免错误就放在了SPI的中断里面。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-11-14 02:12:44 | 显示全部楼层
H7的SPI DMA有几个注意事项,楼主方便的话,分享你的工程到百度云,我看下
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2022-11-20 21:30:21 | 显示全部楼层
看下.MAP文件,确定变量定义在SRAM2地址了,SRAM1不支持DMA访问
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 18:45 , Processed in 0.262306 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表