ST意法半导体
直播中

陈键

7年用户 1007经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

是否有STM32H7x3的DMA模式中的ADC3示例呢?

我正在尝试在 H753 上将 ADC3 与 BDMA 结合使用。
从将 BDMA 通道 0 分配给 ADC3 的一些立方体生成的代码开始。
SRAM4 中分配的内存。添加了 BDMA_Channel0 和 ADC3 的中断处理程序。
当我启动 ADC3 时,我点击了默认的中断处理程序——就好像没有定义正确的处理程序一样。
ICSR = 0x891这意味着活动中断是 0x91。
0x91 - 16 = 129 正是 BDMA_Channel0_IRQn。
还有它的处理程序。但是这个处理程序没有被命中。为什么??
  • DMA_HandleTypeDef hdma_adc3;
  • ADC_HandleTypeDef hadc3;
  • void ADC3_IRQHandler(void)
  • {
  •     HAL_ADC_IRQHandler(&hadc3);
  • }
  • void BDMA_Channel0_IRQHandler(void)
  • {
  •     HAL_DMA_IRQHandler(&hdma_adc3);
  • }
我检查了清单和向量表,向量确实指向我的 BDMA_Channel0_IRQHandler。
VTOR 看起来是正确的(systick 工作,默认处理程序也在那里)。
当代码位于内部闪存或 AXI RAM 中时,行为相同。未启用缓存。
那么默认处理程序是如何被调用的呢?
是否有 STM32H7x3 的 DMA 模式 (BDMA) 中的 ADC3 示例?



回帖(1)

徐凤

2022-12-13 10:54:07
尚未增加表格对齐方式。
显然,NVIC 不是 *adding*,而是 *ORing* ISR 的偏移量(ISR 编号 << 2)到 VTOR。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分