NANO130_H2Press/User/rtc_wakeup.h

56 lines
1.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
*********************************************************************************************************
* 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初始时间固定为2016-01-01 00:00:00
#define INITIAL_YEAR 2016
// 定义工作模式
#define WORK_MODE_PROTECT 0 // 电池保护模式
#define WORK_MODE_CHARGE 1 // 充电提示模式
#define WORK_MODE_NORMAL 2 // 正常模式
// 电量极低标志
extern uint8_t bat_veryLow;
// 休眠标识
extern volatile uint8_t Wakeup_Sleeping;
// 实际启动时间和INITIAL_YEAR相差的秒数当GPS定位或GPRS连接基站以后设置
extern volatile uint32_t RTC_offsetSeconds;
void Wakeup_Init();
void Wakeup_Open();
// 读取工作模式
uint8_t Wakeup_GetWorkMode();
// 设置工作模式
void Wakeup_SetWorkMode();
// 计算某月的天数
uint16_t get_month_days(uint16_t year, uint8_t month);
// 计算从某年开始以来经过的秒数
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);
// 设定下次闹钟唤醒时间
void Wakeup_SetAlarm(uint8_t charging);
// 将从INITIAL_YEAR开始的描述转换成年月日
void Wakeup_CalcUTCTime(uint32_t totalSeconds, S_RTC_TIME_DATA_T *pRTC);
// 检查是否进入掉电模式
void Wakeup_Powerdown();
#endif