前言
对于一些电池供电的应用,很多都需要用低功耗的单片机。随着国外单片机缺货,也越来越多的工程师选择国产华大低功耗系列的单片机,接下来就讲一下华大低功耗系列的单片机怎么处理低功耗。
一、进低功耗的步骤
1、关闭外设时钟
2、配置IO电平(重要)
3、内核进入睡眠
二、详细说明
很多客户说我执行Lpm_GotoDeepSleep()进入睡眠之后,怎么电流还那么大呢?一问调用睡眠函数之前啥都没做,其实这是一个误区,调用这个函数相当于执行了__WFI(),这个只是让内核进入睡眠而已,前面的两步还没做。
1、关闭外设时钟
根据手册的说法,部分外设在进入睡眠后会自动关闭(见下图),但还是建议进入睡眠前把不需要的外设时钟手动关掉,唤醒之后再手动打开。以HC32L136为例,执行Sysctrl_SetPeripheralGate();可以打开关闭外设时钟。
注意:ADC的关闭步骤,有一个BGR要关闭,调用Bgr_BgrDisable();即可关闭。这个是模拟模块的使能寄存器,在使用模拟外设的时候会打开,像初始化ADC、VC比较器和LVD需要打开,但睡眠的时候打开会增加30~80uA的电流。