56 lines
1.5 KiB
C
56 lines
1.5 KiB
C
|
|
/*
|
|||
|
|
*********************************************************************************************************
|
|||
|
|
* IAR Development Kits
|
|||
|
|
* on the
|
|||
|
|
*
|
|||
|
|
* M451
|
|||
|
|
*
|
|||
|
|
* Filename : rtc_wakeup.h
|
|||
|
|
* Version : V1.00
|
|||
|
|
* Programmer(s) : Qian Xianghong
|
|||
|
|
*********************************************************************************************************
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef USER_RTC_WAKEUP_PRESENT
|
|||
|
|
#define USER_RTC_WAKEUP_PRESENT
|
|||
|
|
|
|||
|
|
// RTC<54><43>ʼʱ<CABC>䣺<EFBFBD>̶<EFBFBD>Ϊ2016-01-01 00:00:00
|
|||
|
|
#define INITIAL_YEAR 2016
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>幤<EFBFBD><E5B9A4>ģʽ
|
|||
|
|
#define WORK_MODE_PROTECT 0 // <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ģʽ
|
|||
|
|
#define WORK_MODE_CHARGE 1 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾģʽ
|
|||
|
|
#define WORK_MODE_NORMAL 2 // <20><><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>־
|
|||
|
|
extern uint8_t bat_veryLow;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>߱<EFBFBD>ʶ
|
|||
|
|
extern volatile uint8_t Wakeup_Sleeping;
|
|||
|
|
|
|||
|
|
// ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>INITIAL_YEAR<41><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPS<50><53>λ<EFBFBD><CEBB>GPRS<52><53><EFBFBD>ӻ<EFBFBD>վ<EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD>ã<EFBFBD>
|
|||
|
|
extern volatile uint32_t RTC_offsetSeconds;
|
|||
|
|
|
|||
|
|
void Wakeup_Init();
|
|||
|
|
void Wakeup_Open();
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
uint8_t Wakeup_GetWorkMode();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>ģʽ
|
|||
|
|
void Wakeup_SetWorkMode();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ij<EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t get_month_days(uint16_t year, uint8_t month);
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>꿪ʼ<EABFAA><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint32_t Calc_SecondsFromYear(uint16_t startYear, uint16_t year, uint8_t mon, uint8_t day, uint8_t hour, uint8_t min, uint8_t sec);
|
|||
|
|
// <20>趨<EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
void Wakeup_SetAlarm(uint8_t charging);
|
|||
|
|
// <20><><EFBFBD><EFBFBD>INITIAL_YEAR<41><52>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void Wakeup_CalcUTCTime(uint32_t totalSeconds, S_RTC_TIME_DATA_T *pRTC);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
void Wakeup_Powerdown();
|
|||
|
|
|
|||
|
|
#endif
|