大家早上好,最近用STM32H563的SPI DMA时碰到问题,麻烦大家给看看,谢谢 我的STM32CubeMx配置如图1、2所示 我调用的发送接收库函数是HAL_SPI_TransmitReceive_DMA(),该函数内部执行到图3位置时,调到了return HAL_ERROR语句 通过仿真器排查到是因为hspi->hdmarx->Init.DestDataWidth的值为0,于是我返回去排查DMA的配置代码,如图4所示 通过仿真器发现,在执行__HAL_LINKDMA()时,结构体handle_GPDMA1_Channel2的Init.DestDataWidth本身就已经是0,如图5所示 于是我又查看了前面几条配置函数,但没有发现handle_GPDMA1_Channel2的Init.DestDataWidth赋值位置 麻烦大家看看到底是哪里的问题,是Mx里的配置选择不对吗? |
请问在STM32H5上使用fatfs写函数时,用不了DMA的写方式,应该怎么使用呢,有人遇到过类似的问题嘛
STM32H5的I3C模块,target rx和tx时,硬件都存在bug
stm32h573vit3q芯片检测不到stlink下载
CubeMX内H573如何启用RMII_PTP_Synchro?
关于STM32H563的STlink-V3无法识别的问题咨询
I3C target error : STALL
STM32H503 I3C从机复位成主机,无法发出波形
I3C 控制器角色转移如何实现
I3C 可仲裁头的IBI中断
stm32h562RGTX使用PROD_STATE_PROVISIONING后discover失败
该芯片及内部DMA功能较新,相比之前在配置上不太一样。DMA功能也增强了很多。
我找到了H563NUCLEO开发板,基于SPI1的DMA收发做了测试,也经历一番折腾。
你这个问题我测试中也遇到了,应该说这个地方有些bug.幸好不是关键功能性代码,
暂时屏蔽也无所谓。相信未来版本在这个地方会改善。
基于cubeMx配置和HAL库,相应功能都是可以实现的。
这里有相应记录,可以参考之。
STM32H563 SPI DMA应用演示 (qq.com)
记得将堆栈调大点。
[md]我把SPI的Data Size调成8bits,就可以用了,之前用16bit就是不行,感觉是CubeMx生成代码这里有问题,我也没有深究