111 lines
2.3 KiB
C
111 lines
2.3 KiB
C
/*****************************************************************************
|
|
*
|
|
* MSO Corporation
|
|
*
|
|
* File : rtc.h
|
|
* Compiler : IAR C 5.30C Kickstart
|
|
* Revision : $Revision: 1.0 $
|
|
* Date : $Date: 2010 / 7 / 16
|
|
* Updated by : $Author: Jongkwang Woo
|
|
*
|
|
* Support mail : spirit0305@naver.com
|
|
*
|
|
* Description : Header file for rtc.c
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef _BRTC_H_
|
|
#define _BRTC_H_
|
|
|
|
#include <stm32f4xx.h>
|
|
|
|
#define RTC_TMR_PERIOD_TIME 10 // 10ms
|
|
#define WARMING_UP_TIME 10000 // 10sec
|
|
|
|
typedef struct
|
|
{
|
|
u16 sub_sec;
|
|
u8 sec;
|
|
u8 min;
|
|
u8 hour;
|
|
u8 wday; /* week */
|
|
u8 date;
|
|
u8 month;
|
|
u16 year;
|
|
}_TTIME, *_PTIME;
|
|
|
|
/*
|
|
Field Octets Contents Range
|
|
1 1-2 year 0..65536
|
|
1 3 month 1..12
|
|
1 4 day 1..31
|
|
1 5 hour 0..23
|
|
1 6 minutes 0..59
|
|
1 7 seconds (use 60 for leap-second) 0..60
|
|
1 8 deci-seconds 0..9
|
|
1 9 direction from UTC '+' / '-'
|
|
1 10 hours from UTC 0..13
|
|
1 11 minutes from UTC 0..59
|
|
*/
|
|
struct DateAndTime {
|
|
u16 year;
|
|
u8 month;
|
|
u8 day;
|
|
u8 hour;
|
|
u8 minutes;
|
|
u8 seconds;
|
|
u8 deci_seconds;
|
|
u8 UTC_direction; // '+' / '-'
|
|
u8 UTC_hours;
|
|
u8 UTC_minutes;
|
|
};
|
|
|
|
void Init_RTC(void);
|
|
void Real_RTC_Init(void);
|
|
|
|
int rtc_gettime (_TTIME* rtc);
|
|
|
|
u32 GetBuildTimeStamp(void);
|
|
s8 Set_Time(u8 *time_str);
|
|
void Get_TimeStr(u8 *text);
|
|
|
|
u8 GET_RTC_DATA(u16 addr);
|
|
|
|
void Time_Update(void *ptmr, void *parg);
|
|
u32 Get_Local_Time(void);
|
|
void Set_Local_Time(u32 localtime);
|
|
void RTC_TimeShow(void);
|
|
|
|
u16 GetTimeYear(void);
|
|
u16 GetTimeMonth(void);
|
|
u16 GetTimeDate(void);
|
|
u16 GetTimeHour(void);
|
|
u16 GetTimeMinute(void);
|
|
u16 GetTimeSec(void);
|
|
u16 GetTimeSubSec(void);
|
|
u32 GetTimeStamp(void);
|
|
|
|
u8 GetResetFlag(void);
|
|
|
|
void SetRealTimeStamp(u32 NewTimeStamp);
|
|
void SetUpTimeStamp(s16 value, u8 MsbLsb);
|
|
|
|
void RTC_TimeSet(_TTIME *aTIME);
|
|
|
|
void *GetDateAndTimeEx(void);
|
|
|
|
void ODisplayDateTime(u8 p);
|
|
void SDisplayDateTime(u8 p);
|
|
|
|
u32 GetWarmingUp(void);
|
|
|
|
extern _TTIME DEVICE_TIME, SetTime;
|
|
|
|
extern u8 bak_sec;
|
|
|
|
extern u32 UnixTimeStamp, BakUnixTimeStamp;
|
|
extern u32 BuildTimeStamp;
|
|
extern u32 OptimeStamp, disOptimeStamp;
|
|
|
|
#endif
|