![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
STM32U575 LPBAM休眠前使用SRAM1/2/3 的问题
STM32U575 LPBAM如何实现不唤醒连续读取IIC数据?
STM32U5退出stop2模式后进入HardFault_Handler
STM32U575 LPBAM中 ADC+DMA 搬运数据能否DMA触发退出?
Stem32CubeIDE能像Keil一样指定不同文件下的代码编译到不同的FLASH地址吗?比如部分代码存放到内部FLASH,另一部分存放到外部QSPI的FLASH中
__HAL_DMA_GET_FLAG(&hdma_adc1,DMA_FLAG_TC1)始终返回零
求助大神们,ADC用DMA方式采集10个通道,该怎么做和配置工程
stm32f103的spi+dma可以用IO模拟spi+dma替代吗
STM32U5 PB3作外部下降沿中断,中断进不去
stm32f103VCT6的spi1的两处接口可以混用吗
提醒你两点供参考:
1、有无可能内存使用冲突方面的问题;或者堆栈溢出覆盖等方面问题;
2、DMA配置方面,尤其那个传输长度设置是否有问题。不知你现在的SPI传输选择的数据宽度
是多少位的,如果是16位或32位,对于STM32U5或STM32H5系列,使用GPDMA时,最终的传输
长度是你设置的总数据个数 再 乘以 数据宽度所对应的字节数。 打个比方:
假设你现在使用的SPI数据宽度为16位,即对应2个字节。另外假设你希望一轮DMA传输的数据个数为8096,
则最终对应到U5或H5系列的DMA传输的长度就是 8096*2。 注意这个值最终不能超过65535。
看看是不是发送数据有长度限制?好像一次最多是65536字节
这是代码,考虑过延时,但是无论延时多久都是图片的一部分
初步的解决方案是这样的,利用回调函数一半一半发,但是总觉得不妥
可以检查一下参数,尤其是长度是否正确
/**
* @brief Transmit an amount of data in non-blocking mode with DMA.
* @param hspi : pointer to a SPI_HandleTypeDef structure that contains
* the configuration information for SPI module.
* @param pData: pointer to data buffer
* @param Size : amount of data to be sent
* @retval HAL status
*/
HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size)