📄 clock8025.h
字号:
#ifdef CLOCK_GLOBALS
#define CLOCK_EXT
#else
#define CLOCK_EXT extern
#endif
/*******************************************
时钟设备从地址定义
*******************************************/
#define CLOCK8025_DEVICE_ADDRESS 0X64
/**************************************
RX8025寄存器地址宏定义
**************************************/
#define SECONDS_REG_ADR 0X00
#define MINUTES_REG_ADR 0X10
#define HOURS_REG_ADR 0X20
#define WEEKDAYS_REG_ADR 0X30
#define DAYS_REG_ADR 0X40
#define MONTHS_REG_ADR 0X50
#define YEARS_REG_ADR 0X60
#define PRECISION_REG_ADR 0X70
#define DALARM_MINUTE_REG_ADR 0X80
#define DALARM_HOUR_REG_ADR 0X90
#define DALARM_DAY_REG_ADR 0XA0
#define WALARM_MINUTE_REG_ADR 0XB0
#define WALARM_HOUR_REG_ADR 0XC0
#define CONTROL1_REG_ADR 0XE0
#define CONTROL2_REG_ADR 0XF0
/****************************************
设置寄存器宏定义
*****************************************/
/*********控制寄存器1******************/
#define ALARM_W_ENABLE 0X80
#define ALARM_W_DISABLE 0X00
#define ALARM_D_ENABLE 0X40
#define ALARM_D_DISABLE 0X00
#define CLOCK_MODE_12 0X00
#define CLOCK_MODE_24 0X20
#define INTA_OUTPUT_OFF 0X00
#define INTA_OUTPUT_FIXEDLOW 0X01
#define INTA_OUTPUT_PULSE_2HZ 0X02
#define INTA_OUTPUT_PULSE_1HZ 0X03
#define INTA_OUTPUT_LEVEL_SECOND 0X04
#define INTA_OUTPUT_LEVEL_MINUTE 0X05
#define INTA_OUTPUT_LEVEL_HOUR 0X06
#define INTA_OUTPUT_LEVEL_MONTH 0X07
/********控制寄存器2*****************/
#define POWER_DROP_DETECT_VOLTAGE_2DOT1 0X00
#define POWER_DROP_DETECT_VOLTAGE_1DOT3 0X80
#define POWER_DROP_DETECTION_MAP 0X40
#define POWER_DROP_IS_DETECTED 0X40
#define POWER_DROP_IS_UNDETECTED 0X00
#define POWER_DROP_SIGN_CLEAR 0X00
#define OSC_STOP_DETECTION_MAP 0X20
#define OSC_STOP_IS_DETECTED 0X00
#define OSC_STOP_IS_UNDETECTED 0X20
#define OSC_STOP_SIGN_CLEAR 0X20
#define POWER_RESET_DETECTION_MAP 0X10
#define POWER_RESET_IS_DETECTED 0X10
#define POWER_RESET_IS_UNDETECTED 0X00
#define POWER_RESET_SIGN_CLEAR 0X00
#define INTA_OUTPUT_STATE_MAP 0X04
#define INTA_OUTPUT_STATE_OFF 0X00
#define INTA_OUTPUT_STATE_ON 0X04
#define ALARM_W_MATCH_MAP 0X02
#define ALARM_W_IS_MATCH 0X02
#define ALARM_W_IS_UNMATCH 0X00
#define ALARM_W_SIGN_CLEAR 0X00
#define ALARM_D_MATCH_MAP 0X01
#define ALARM_D_IS_MATCH 0X01
#define ALARM_D_IS_UNMATCH 0X00
#define ALARM_D_SIGN_CLEAR 0X00
//current date and time
struct StrTime
{
unsigned char Second;
unsigned char Minute;
unsigned char Hour;
unsigned char Weekday;
unsigned char Day;
unsigned char Month;
unsigned char Year;
};
CLOCK_EXT struct StrTime CurrentTime;
CLOCK_EXT struct StrTime OldCurrentTime;
/****************************************
函数原型定义
******************************************/
CLOCK_EXT void Clock8025Init(void);
CLOCK_EXT void GetCurrentDateAndTime(void);
CLOCK_EXT void SetSystemDate(INT8U *PtTime);
CLOCK_EXT void SetSystemTime(INT8U *PtTime);
CLOCK_EXT void SetSystemDateAndTime(INT8U *PtTime);
CLOCK_EXT void AdjustClockPrecision(INT8U AdjustValue);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -