配置文件。唤醒函数时间 = WAKE_UP_RTC_MAX_
tiME ;
配置文件。slee
PCB = CH57X_LowPower; // 启用为
CH7X_LowPower()函数的不是WAKEUP_RTC_RowPower()的参数WAKEUP_还是在协议栈中了?
u32 CH57X_LowPower(处理) u32 时间)
{
#if (defined (HAL_SLEEP)) && (HAL_SLEEP == TRUE)
u32 tmp, irq_status;
SYS_DisableAllIrq ( &irq_status );
tmp = RTC_GetCycle32k ();
如果 ( ( 时间 < tmp ) || ( ( 时间 - tmp ) < 30 ) )
{ // 检测时间的婴儿
SYS_RecoverIrq (irq_status);
返回2 ;
}
RTC_SetTignTime(时间);
SYS_RecoverIrq (irq_status);
#if ( DEBUG = Debug_UART1 ) // 修改使用其他串口输出信息需要这行代码
而((R8_UART1_LSR & RB_LSR_TX_ALL_EMP)== 0 )
__nop ();
#万一
//低低睡眠模式
如果(!RTCTigFlag)
{
LowPower_Sleep (RB_PWR_RAM2K | RB_PWR_RAM16K | RB_PWR_EXTEND);
#if (defined (DCDC_ENABLE)) && (DCDC_ENABLE == TRUE)
PWR_DCDCCfg(启用);
#万一
时间 += WAKE_UP_RTC_MAX_TIME;
(如果时间> 0xA8C00000 )时间-= 0xA8C00000;
RTC_SetTignTime(时间); LowPower_Idle
();
HSECFG_Current (HSE_RCur_100);// 降速为电流(低速函数中提升了电流电流)
}
返回
{ HSE
}
}
#万一
返回 0 ;
}
这个函数中,执行LowPower_Sleep()进入睡眠,后边LowPower_Idle()函数是干什么用的?