[STM32L0] STM32L0 ADC停止模式唤醒后初始化失败(测量Vrefint)

[复制链接]
1502|2
 楼主| Marco-Marco 发表于 2020-7-2 21:33 | 显示全部楼层 |阅读模式
如下图主要代码。ADC主要用来测量MCU供电电压,使用内部通道Vrefint。在进入停止模式前关闭ADC,唤醒后再使能ADC。有意思的是基本都是在唤醒160多次(24小时左右)后ADC才出现异常,偶尔init_ADC失败,偶尔start_ADC 失败。在start 之后再init当次会成功。但下一次唤醒后再调start ADC直接hard fault。后面也看到SDK里面有个note唤醒后ADC初始化之前必须enable Vefrint。加了相关代码之后也没有什么改观。 现象非常稳定,3台设备已出现10次+的相同情况。

adc 4.png adc stop2.png adc stop3.png
mmuuss586 发表于 2020-7-2 23:17 | 显示全部楼层
香水城 发表于 2020-7-3 10:06 | 显示全部楼层
也好奇你那个“有意思",代码里有关于计数 或 计时的处理代码吗?

麻烦你再看看手册,在ADC来回开启、关闭的过程中有没有要特别注意的地方。



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

本版积分规则

个人签名:www.jhe-iot.com

32

主题

155

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部