
FW_H7 V1.12.1-HAL库DMA双缓冲配置
利用stm32f412 的SPI 的DMA 模式读取外部ADC数据如何提高效率
STM32H7+SAI+DMA双缓冲配置失败.
请教SPI用LL读取的问题
STM32U5A9NJH6Q使用160Mhz HSPI读取外部PSRAM失败
STM32G030K6Tx使用ADC+DMA进行6通道ADC采集,DMA传输错位问题。
STM32U575从低功耗模式唤醒后,无法获取唤醒源
求助:I2S通过DMA搬运后通过USB上传上位机,转为.wav文件后声音嘈杂,音质很差,基本听不出人声
STM32U5+LPBAM需设置RAM为SRAM4的地址,否则LPBAM无法运行?
STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)
提醒你两点供参考:
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)