如下图主要代码。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次+的相同情况。
|