ADC低功耗填坑
HC32F003:因为有些ADC功能需要用到BGR,所以在进入低功耗模式时不但要关闭ADC还要关闭BGR。然而,
如果是按照如下方式操作,实测比正常休眠模式多16uA左右(共22~23uA)
BgrEnable(FALSE);
Clk_SetPeripheralGate(ClkPeripheralAdcBgr, FALSE);
Adc_Disable();
GotoSleep();
但如果换个顺序就OK了。
Adc_Disable();
BgrEnable(FALSE);
Clk_SetPeripheralGate(ClkPeripheralAdcBgr, FALSE);
GotoSleep();
留个痕迹,方便参考。 关才CLK之后寄存器已无时钟,不能进行读写。所以应做完所有的寄存器配置后再关闭时钟。 这个顺序的话,用户手册上都有描述的吧
Adc_Disable();
BgrEnable(FALSE);
以上两个的前后顺序无所谓,
主要是要做完上述两个步骤,才能关闭ADC的外设时钟Clk_SetPeripheralGate(ClkPeripheralAdcBgr, FALSE);
如果你先关闭了ADC的外设时钟,上述两个命令可能执行不了。
smartpower 发表于 2019-11-18 19:52
关才CLK之后寄存器已无时钟,不能进行读写。所以应做完所有的寄存器配置后再关闭时钟。 ...
平时就顾着抄demo,没有深挖,学习了 martinhu 发表于 2019-11-19 09:06
这个顺序的话,用户手册上都有描述的吧
Adc_Disable();
BgrEnable(FALSE);
多谢
华大一级代理商,有专业FAE支持,有需要技术支持或询价的欢迎加Q8687774详聊 非常感谢楼主分享 非常感谢楼主分享
页:
[1]