DKKKKKKK 发表于 2023-3-30 15:13:41

求助,关于STM32F407的ADC DMA的问题


3路ADC同时打开并用DMA运输,在168M的主频下会进入HardFault_Handler,通过查看寄存器是经常在该语句中SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK,而且硬中断的问题还每次都不一样,有时是NOCP,有时是UNDEFINSTER 等等,基本每个错误都出现过。
打开ADC时不进入主程序可以正常运行。当主频降低的时候 或者 关闭ADC 也可以运行很久才出现HardFault_Handler。(几小时都可能,但是都打开的时候在168M主频下大概几秒就出现)
堆栈和各种可能出现问题的地方都排查修改过了都没用。。
将SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK注释掉也会在其他地方出现HardFault_Handler。。

eric2013 发表于 2023-3-30 15:44:43

是ADC1,ADC2,ADC3都开启吗,这个我们的一代示波器用的这个方案,做的三ADC快速交替采样,3ADC+DMA+TIM的玩法,你可以参考

https://www.armbbs.cn/forum.php?mod=viewthread&tid=3886&extra=page%3D1

DKKKKKKK 发表于 2023-3-30 15:47:20

eric2013 发表于 2023-3-30 15:44
是ADC1,ADC2,ADC3都开启吗,这个我们的一代示波器用的这个方案,做的三ADC快速交替采样,3ADC+DMA+TIM的玩 ...

是三个都开,也是用3ADC+DMA+TIM,请教每次造成HardFault_Handler的原因都不相同是什么原因呢

eric2013 发表于 2023-3-30 15:50:14

DKKKKKKK 发表于 2023-3-30 15:47
是三个都开,也是用3ADC+DMA+TIM,请教每次造成HardFault_Handler的原因都不相同是什么原因呢

二楼贴链接了,参考我们的实现
页: [1]
查看完整版本: 求助,关于STM32F407的ADC DMA的问题