#include "yc_lpm.h" #include "yc11xx_gpio.h" unsigned short HIBERNATE_FLAG=0x0000; void Lpm_LockLpm(uint16_t lpmNum) { uint16_t temp; temp =( HREADW(M0_LPM_REG))|lpmNum; HWRITEW(M0_LPM_REG,temp); } void Lpm_unLockLpm(uint16_t lpmNum) { uint16_t temp; temp =( HREADW(M0_LPM_REG))&(~lpmNum); HWRITEW(M0_LPM_REG,temp); } bool Lpm_CheckLpmFlag() { return NONE_LPM_FLAG == HREADW(M0_LPM_REG); } void Lpm_ClearLpmFlag() { HWRITEW(M0_LPM_REG,0); } void Lpm_enter() { HWRITE(mem_lpm_mode,0x01); } void Lpm_exit() { HWRITE(mem_lpm_mode,0x00); } void Lpm_Set_Interval(uint16_t gap) { HWRITEW(mem_lpm_interval,gap); } void Lpm_Set_Conn_Interval(uint16_t gap) { HWRITEW(mem_time_wake_gap,gap); } void BT_GpiosetBeforlpm() { uint8_t i; for(i=GPIO_0;i