|
我使用另外一个MCU STM32F407VET6使用Cubemx生成代码,只需要在 MX_SPI2_Init()函数最后加上HAL_SPI_DMAResume(&hspi2);SPI DMA发送就正常了,但是使用STM32H743同样使用Cubemx生成代码,同样在初始化后加入HAL_SPI_DMAResume(&hspi2);但是实测SPI+DMA发送无法驱动屏幕,如果使用HAL_SPI_Transmit替代DMA发送HAL_SPI_Transmit_DMA那么屏幕又能正常驱动 |
串口DMA收发出现ORE错误
STM32F3系列SDADC外部触发 DMA运输的bug
STM32H750的上电BOR生效电压
STM32H563的QSPI接口不能读取W25Q256的后128MB数据
STM32C5 HAL SPI CRC 错误无法触发错误回调
HAL 库建议支持GPIO 同时配置为AF 与外部中断 EXTI
STM32H7的SMPS供电
STM32H7无法芯片
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
微信公众号
手机版
如果没发送出去,那么多半是软件驱动方式。
SPI+DMA的发送比较常见,可以参考官方HAL库中的例程代码。
数据是有发送的,SCK,MOSI波形都有
解决了,最后经过别人提醒是DMA为非阻塞发送,所以导致我把数据填入DMA后还没发送出去就又把CS拉高了程序修改为
这样加入判断SPI是否为空闲状态即可保证数据发送完成
内存不够需要外扩 LY的SPI PSRAM,联系陶13764140309
DMA有个发送完成的中断,该回调函数里判断完成,这样的逻辑结构比较常用。