![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
大家早上好,最近用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里的配置选择不对吗? |
stm32h562RGTX使用PROD_STATE_PROVISIONING后discover失败
STM32H533 芯片设置了读保护,应该如何解开;
STM32H503 Nucleo-64 board下载不进去程序
【NUCLEO-H533RE评测】驱动温湿度传感器SHT40
【NUCLEO-H533RE评测】ADC采集智能DMA传输
HAL库
【NUCLEO-H533RE评测】使用stm32cubemx建立threadx工程
stm32H533 SPIDMA如何配置
STM32L5和STM32H5对trustzone有哪些不同?
标准库下载
该芯片及内部DMA功能较新,相比之前在配置上不太一样。DMA功能也增强了很多。
我找到了H563NUCLEO开发板,基于SPI1的DMA收发做了测试,也经历一番折腾。
你这个问题我测试中也遇到了,应该说这个地方有些bug.幸好不是关键功能性代码,
暂时屏蔽也无所谓。相信未来版本在这个地方会改善。
基于cubeMx配置和HAL库,相应功能都是可以实现的。
这里有相应记录,可以参考之。
STM32H563 SPI DMA应用演示 (qq.com)
记得将堆栈调大点。
[md]我把SPI的Data Size调成8bits,就可以用了,之前用16bit就是不行,感觉是CubeMx生成代码这里有问题,我也没有深究