新手上路
- 积分
- 38
- 金钱
- 38
- 注册时间
- 2019-8-30
- 在线时间
- 11 小时
|
1金钱
这两天在调stm8s003的halt模式。
硬件电路:
说明:已经将稳压芯片,led,外部晶振,等不用的原件全部拆除,所有的引脚未接任何东西。
但是无论如何修改代码,电流始终在530uA左右,Active halt和halt模式下电流都是这样。
附上Active halt 模式代码:
void main(void)
{
CLK_HSECmd ( DISABLE );
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
AWU_DeInit();
AWU_Init(AWU_TIMEBASE_12S);
CLK_SlowActiveHaltWakeUpCmd(ENABLE);
CLK_FastHaltWakeUpCmd(DISABLE); //关闭快速唤醒
FLASH_SetLowPowerMode(FLASH_LPMODE_POWERDOWN); //设置为停机后flash掉电
GPIO_Init(GPIOA,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_SLOW);
GPIO_Init(GPIOB,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_SLOW);
GPIO_Init(GPIOC,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_SLOW);
GPIO_Init(GPIOD,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_SLOW);
GPIO_WriteLow(GPIOA,GPIO_PIN_ALL);
GPIO_WriteLow(GPIOB,GPIO_PIN_ALL);
GPIO_WriteLow(GPIOC,GPIO_PIN_ALL);
GPIO_WriteLow(GPIOD,GPIO_PIN_ALL);
AWU_Cmd(ENABLE);
while(1){
halt();
}
}
说明:用Debuger调试过,能够进入halt(),到时间后被唤醒,进入AWU中断。(1.在此基础上,测试过关掉所有外设的时钟,没有任何效果;2.在此基础上修改了GPIO状态,各种都有测试,也无任何变化。)
有参考一个别人的例子,代码如上,结果电流能将下去。请教各位在halt低功耗这块研究过的大牛,给点建议,非常感谢。 |
|
|