硬汉嵌入式论坛

 找回密码
 立即注册
查看: 491|回复: 3
收起左侧

[有问必答] 求助,关于STM32F407的ADC DMA的问题

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2023-3-30 15:13:41 | 显示全部楼层 |阅读模式

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。。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-3-30 15:44:43 | 显示全部楼层
是ADC1,ADC2,ADC3都开启吗,这个我们的一代示波器用的这个方案,做的三ADC快速交替采样,3ADC+DMA+TIM的玩法,你可以参考

https://www.armbbs.cn/forum.php? ... &extra=page%3D1
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2023-3-30 15:47:20 | 显示全部楼层
eric2013 发表于 2023-3-30 15:44
是ADC1,ADC2,ADC3都开启吗,这个我们的一代示波器用的这个方案,做的三ADC快速交替采样,3ADC+DMA+TIM的玩 ...

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-3-30 15:50:14 | 显示全部楼层
DKKKKKKK 发表于 2023-3-30 15:47
是三个都开,也是用3ADC+DMA+TIM,请教每次造成HardFault_Handler的原因都不相同是什么原因呢

二楼贴链接了,参考我们的实现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 14:36 , Processed in 0.155343 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表