华大单片机主推超低功耗系列,产品的功耗其实包括了产品工作时的功耗和休眠时的功耗两部分,这两部分的加权平均值才是产品的平均功耗,对于评价产品的功能、性能有特殊意义。以HC32L136芯片解释一下,华大单片机如何设置超低功耗的问题。
可以通过设置如下相关的位来设置以何种形式进入低功耗:
SLEEPDEEP :如果SLEEPDEEP 位被置位,执行休眠指令后会进入深度休眠,此时为超低功耗;SLEEPDEEP 位被清除,则进入普通休眠;
SLEEP-NOW:如果 SLEEPONEXIT 位被清除,当 WFI 或 WFE 被执行时,微控制器立即进入休眠模式;
SLEEP-ON-EXIT:如果 SLEEPONEXIT 位被置位,系统从最低优先级的中断处理程序中退出时,微控制器就立即进入休眠模式;
进入休眠之前芯片相关端口的设置如下:
在进入deepsleep或者sleep之前,没有使用的IO(包括小于64PIN的封装,没有引出来的引脚),可以配置为上拉或者下拉输入,或者输出低电平;已经使用的输出引脚,保持输出电平和外部电路等电势,或者改为输入;已经使用的输入引脚,外部电路有确定的电平,可以保持输入状态(外部有上拉或者下拉的,内部可以不设上下拉);ADC的引脚,还是保持ADC的属性(GPIO的ADS使能,init函数不需要(init函数可能会把ADS清零))。