你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H743 SPI6+BDMA的问题

[复制链接]
fhsjzyf 提问时间:2022-4-12 09:24 / 未解决

使用cubemx选择stm32h743iit的芯片,添加了SPI6并添加了DMA功能,但是发现在调用HAL_SPI_Transmit_DMA(&hspi6,(uint8_t*)SPI_SEND_BUFFER_ADDRESS,1);后,无法进入HAL_SPI_TxCpltCallback的回调函数中。请问这个应该怎么解决呢?

收藏 评论4 发布时间:2022-4-12 09:24

举报

4个回答
xmshao 回答时间:2022-4-12 10:49:43
提醒你两点:第一,确认DMA的确配置好了,基于CubeMx配置的话,DMA配置代码放在SPI外设配置的前面;第二,确保你BDMA要访问的内存是它可以访问得到地方,否则它鞭长莫及就无法完成传输,这点你要对着手册确认。
fhsjzyf 回答时间:2022-4-12 15:34:18

xmshao 发表于 2022-4-12 10:49
提醒你两点:第一,确认DMA的确配置好了,基于CubeMx配置的话,DMA配置代码放在SPI外设配置的前面;第二, ...

谢谢!您提到的第二点我理解,已经把数据放在SDRAM4中,是BDMA可以访问的。您说的第一点,关于BDMA初始化的代码,关于中断的部分放在了SPI初始化之前,其他的包括数据通道的内容,放在了SPI的MspInit()函数中。这样子cubemx生成的程序算是正确的吗?

xmshao 回答时间:2022-4-13 11:11:42

fhsjzyf 发表于 2022-4-12 15:34
谢谢!您提到的第二点我理解,已经把数据放在SDRAM4中,是BDMA可以访问的。您说的第一点,关于BDMA初 ...

[md]我的第一点 主要提醒你DMA配置OK并开启了。这点你可以调试确认下。再就是看看有无对齐方面的原因。

masterchao 回答时间:2022-8-17 11:26:30
SPI6中断和DMA中断是否都已使能

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版