stm32 usart+dma
STM32U575 LPBAM如何实现不唤醒连续读取IIC数据?
使用STM32H743VIT6 使用SPI+DMA无法驱动2.4寸TFT屏幕,使用查询发送函数正常
STM32U575 LPBAM中I2C的Sequence Number如何理解
LY的SPI PSRAM搭配STM32F0/STM32F1/STM32F2/STM32F3/STM32F4/系列
STM32U5A9NJH6Q使用160Mhz HSPI读取外部PSRAM失败
touchGFX初始化卡住
使用usb怎么配置dma搬运
STM32F103 的主频72M不变,如何自定义SPI波特率为12M?
TouchGFX文件编译通过,但是无法链接成功,看网上说是格式不对,但是不知道怎么解决
提醒你两点供参考:
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)