
最近使用STM32H743对外部一个ADC芯片做数据采集,想通过外部中断信号触发SPI DMA读取数据(每次3byte),但根据CubeMX配置的驱动无法触发SPI(无CLK时钟信号发出)。 工程也已经根据CubeMX生成的代码,增加了如下配置: pSyncConfig.SyncSignalID = HAL_DMAMUX1_SYNC_EXTI0; pSyncConfig.SyncPolarity = HAL_DMAMUX_SYNC_FALLING; pSyncConfig.SyncEnable = ENABLE; pSyncConfig.EventEnable = ENABLE; pSyncConfig.RequestNumber = 3; if (HAL_DMAEx_ConfigMuxSync(&hdma_spi5_rx, &pSyncConfig) != HAL_OK) { Error_Handler(); } 目前调试发现,外部PA0中断可以正常发生并进入中断入口, 单独使用HAL_SPI_TransmitReceive_DMA 或HAL_SPI_Receive_DMA也可以进行通信。 但EXTI0事件却无法触发同步SPI DMA传输,请问是否有大神知道,有哪些细节没有配置到位吗? 首次使用STM32H7,对DMAMUX不是很了解。 |
STM32G030K6Tx使用ADC+DMA进行6通道ADC采集,DMA传输错位问题。
求助:I2S通过DMA搬运后通过USB上传上位机,转为.wav文件后声音嘈杂,音质很差,基本听不出人声
请教SPI用LL读取的问题
NanoEdgeAI Studio在keil5上出现的问题
stm32H747bit6 jlink , stlink 仿真都识别不到 ?
STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)
求STM32H503或STMH723 SPI-DMA参考例程
STM32H7R7 CubeMX无配置问题
多DMA数据流问题
请问hal库的硬件spi,该怎么修改spi时钟的占空比呀?
使用EXTI0是可以作为SPI DMA传输的同步事件的。
估计是你配置上哪里不到位,这里有篇针对性应用实例,是本人经过验证的。
你可以参考下面文章,内容较多,你关注其中的基于EXTI同步SPI DMA传输的配置即可。
基于STM32G4芯片TIM+SPI+DMA应用示例
基于STM32G4芯片TIM+SPI+DMA应用示例
非常感谢你的回答,由于最近在忙别的事情,SPI部分临时使用中断内直接控制IO的方式实现读取。我也觉得是我配置上有错误,等后续有时间,再重新研究一下。