ljfljfljf123 发表于 2017-3-16 17:24:05

在首次进入HALT,测试功耗是0.82ua,awu唤醒后再次进入HALT,...

STM8L101在首次进入HALT,测试功耗是0.82ua,awu唤醒后再次进入HALT,测试功耗是1.35ma,这是什么情况?

void GPIO_LowPower_Config(void)
{
GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_High_Slow);
GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_High_Slow);
GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_High_Slow);
GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_High_Slow);
}
void Enter_Halt(void)
{
AWU_DeInit();
AWU_Cmd(ENABLE);
AWU_Init(AWU_Timebase_30s);
GPIO_LowPower_Config();
asm("halt");
}
void main(void)
{
asm("sim");            //关中断
GPIO_LowPower_Config();
CLK_DeInit();
CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv2);   //时钟8分频,2MHz
CLK_PeripheralClockConfig(CLK_Peripheral_AWU, ENABLE);
enableInterrupts();/* 开所有中断 */
Enter_Halt();
while (1)
{
    delay_ms(1);
    Enter_Halt();
}
}
INTERRUPT_HANDLER(AWU_IRQHandler,4)
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
    */
   AWU->CSR = AWU->CSR;
}

ljfljfljf123 发表于 2017-3-16 17:24:32

感觉好象没有第二次没有进入HALT

无薪税绵 发表于 2017-4-9 22:30:57

awu唤醒的标志未清零吧。

dataozi 发表于 2019-2-15 09:54:27

中断函数
#pragma vector= AWU_vector//0x03
__interrupt void AWU_IRQHandler(void)
{
AWU_CSR1=AWU_CSR1;
}
页: [1]
查看完整版本: 在首次进入HALT,测试功耗是0.82ua,awu唤醒后再次进入HALT,...