
SDADC1采用快速连续,注入转换,禁止中断,转换1024次后,由DMA产生中断,读取数据。DMA采用normal方式,即在传输1024次后,读取数据完毕再启动新的数据传输。在调试过程中,发现DMA进入的中断是HAL_SDADC_InjectedConvCpltCallback,检查了HAL_SDADC_InjectedStart_DMA内部的定义,发现最后确实是指向这个回调函数。但是只能在启动后进入一次,数据就再不更新了?查了相关帖子,按照建议,也是把DMA初始化放在SDADC初始化之前,但确实没解决这个问题?请教一下,不知道还有什么其他的建议? 我中断程序内置标志位,然后回到主函数,处理数据完成后,重新执行以下语句,: HAL_SDADC_Start(&hsdadc1); HAL_SDADC_InjectedStart_DMA(&hsdadc1, (uint32_t*)m_adVal, NUM_AD); __HAL_DMA_ENABLE_IT(&hdma_sdadc1,DMA_IT_TC | DMA_IT_TE); 但AD数据只能更新一次,再也进入不了中断? |
STM32L431内部温度AD值不随温度变化
STM32L031G6U6芯片,使用Flash模拟EEPROM功能,同数据写入不同地址,读取对比不一样,这是为什么?
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
商城的F334开发板是电源开发板么,还是只有基础外设板载
STM32H7+SAI+DMA双缓冲配置失败.
请教专家,STM8L052的GPIO口做输入检测,为什么不能反应管脚实际电压变化?
请问下这款芯片的具体型号
利用stm32f412 的SPI 的DMA 模式读取外部ADC数据如何提高效率
STM32F301 ADC 通道错位问题
FW_H7 V1.12.1-HAL库DMA双缓冲配置
你在重新启动前,先执行一下这会代码试试:
hsdadc1.State = HAL_SDADC_STATE_READY;