📄 systmr.h
字号:
/*****************************************************************
* Function Name: TimerProc
* Param in: void
* Result code: void
* Description: process RTC timer by event
*****************************************************************/
#ifndef TIMER_H
#define TIMER_H
#include <asixdef.h>
#include <sys\systsk.h>
typedef struct
{
WORD hour;
WORD minute;
WORD second;
}ASIX_TIME;
typedef struct
{
WORD year;
WORD month;
WORD day;
}ASIX_DATE;
#define TIMER_ERROR -1
#define TIMER_OK 0
#define MAX_TIME (DWORD)4294967295 /* Max long integer */
//#ifndef MSPTICK
//#define MSPTICK 32 /* Milliseconds per tick: 32 ==1000/32 */
//#endif
/* Timer Modes */
#define CYC_MODE 0x0001
#define ALARM_MODE 0x0002
#define AUTO_CLEAR_MODE 0x0004
#define AUTO_START_MODE 0x0008
#define IS_LEAP_YEAR( year ) ((year)%4?0:((year)%100?1:((year)%400?0:1)))
/* PUBLIC FUNCTIONS */
extern STATUS SysCreateTimer(PDWORD t_id, DWORD interval, void (*func)(void *),void *arg,WORD mode);
extern STATUS SysFreeTimer(DWORD t_id);
extern STATUS SysStartTimer(DWORD t_id);
extern STATUS SysStopTimer(DWORD t_id);
extern DWORD SysReadTimer(DWORD t_id);
extern STATUS SysReadDateTime( ASIX_DATE *date, ASIX_TIME *time );
extern STATUS SysSetDateTime( ASIX_DATE *date, ASIX_TIME *time );
extern STATUS SysSetTime( ASIX_TIME *time );
extern STATUS SysSetDate( ASIX_DATE *date );
extern STATUS SysGetTime( ASIX_TIME *time );
extern STATUS SysGetDate( ASIX_DATE *date );
extern STATUS SysGetElapsedTime( ASIX_TIME *elapse, ASIX_TIME *start, ASIX_TIME *end );
extern STATUS SysGetElapsedDays( DWORD *elapse, ASIX_DATE *start, ASIX_DATE *end );
extern STATUS SysTimeElapse( ASIX_TIME *end, ASIX_TIME *start, ASIX_TIME *elapse );
extern STATUS SysDateElapse( ASIX_DATE *end, ASIX_DATE *start, DWORD elapse );
extern short SysCompareTime( ASIX_TIME *timL, ASIX_TIME *timR );
extern short SysCompareDate( ASIX_DATE *dateL, ASIX_DATE *dateR );
extern STATUS Date2Days( DWORD *days, ASIX_DATE *date );
extern STATUS Days2Date( ASIX_DATE *date, DWORD days );
extern STATUS VerifyDate( ASIX_DATE *date );
extern BYTE CaculateLeapYear( WORD *leapYear, WORD curYear );
EXTERN DWORD passedticks; /* Used to record how many ticks have passed */
EXTERN DWORD currentclock; /* Current clocks of system since it boots */
extern WORD StdYear;
#endif /* TIMER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -