我使用另外一个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那么屏幕又能正常驱动 |
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
Cube IDE下载程序时报错Target no device found,但是ST-LinkUpgrade可以识别到且可以更新固件
CANFD 错误寄存器 怎么复位
ffmpeg移植到SMT32H7上面有可能吗
stm32h750 cube ai 卡ai_network_create_and_init了
STM32H503 I3C从机复位成主机,无法发出波形
STM32H7B0RB UAC
I3C 控制器角色转移如何实现
stm32h743的DFU模式下STM32CubeProgrammer写入过程卡死
cubeMX硬件spi
如果没发送出去,那么多半是软件驱动方式。
SPI+DMA的发送比较常见,可以参考官方HAL库中的例程代码。
数据是有发送的,SCK,MOSI波形都有
解决了,最后经过别人提醒是DMA为非阻塞发送,所以导致我把数据填入DMA后还没发送出去就又把CS拉高了程序修改为
这样加入判断SPI是否为空闲状态即可保证数据发送完成
内存不够需要外扩 LY的SPI PSRAM,联系陶13764140309
DMA有个发送完成的中断,该回调函数里判断完成,这样的逻辑结构比较常用。