| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef __RX8025T_H__
- #define __RX8025T_H__
- // 时间寄存器定义
- #define RTC8025_Second 0 //秒寄存器
- #define RTC8025_Minute 1 //分寄存器
- #define RTC8025_Hour 2 //时寄存器
- #define RTC8025_Week 3 //星期寄存器
- #define RTC8025_Day 4 //日寄存器
- #define RTC8025_Month 5 //月寄存器
- #define RTC8025_Year 6 //年寄存器
- #define RTC8025_Test 7 //read&write test
- // 控制寄存器定义(时钟芯片型号不相同,相应的配置也是不相同的)
- #define RTC8025T_Extension (0x0D) //
- #define RX8025T_EXTEN_WADA (0x40)
- #define RX8025T_EXTEN_USEL (0x20)
- #define RX8025T_EXTEN_TE (0x10)
- #define RX8025T_EXTEN_FSEL_32K (0x0c)
- #define RX8025T_EXTEN_FSEL_1K (0x04)
- #define RX8025T_EXTEN_FSEL_1 (0x08)
- #define RX8025T_EXTEN_TSEL_MIN (0x03)
- #define RX8025T_EXTEN_TSEL_SEC (0x02)
- #define RX8025T_EXTEN_TSEL_64 (0x01)
- #define RX8025T_EXTEN_TSEL_4K (0x00)
- #define RTC8025T_Flag (0x0E) //
- #define RX8025T_FLAG_UF (0x20)
- #define RX8025T_FLAG_TF (0x10)
- #define RX8025T_FLAG_AF (0x08)
- #define RX8025T_FLAG_VLF (0x02)
- #define RX8025T_FLAG_VDET (0x01)
- #define RTC8025T_Control (0x0F)
- #define RX8025T_CTRL_CSEL_0S5 (0x00)
- #define RX8025T_CTRL_CSEL_2S0 (0x40)
- #define RX8025T_CTRL_CSEL_10S (0x80)
- #define RX8025T_CTRL_CSEL_30S (0xC0)
- #define RX8025T_CTRL_UIE (0x20)
- #define RX8025T_CTRL_TIE (0x10)
- #define RX8025T_CTRL_AIE (0x08)
- #define RX8025T_CTRL_RST (0x01)
- /*
- #define RTC8025_PON (0x10) // RTC电源失效标志位
- #define RTC8025_XST (0x20) // RTC内部晶振失效标志位
- // 工作模式定义
- #define RTC8025_Standard_Read (0x00) //标准读模式
- #define RTC8025_Simple_Read (0x04) //简单读模式
- */
- #pragma pack(4)
- typedef struct _date_time_
- {
- uint8_t year;
- uint8_t month;
- uint8_t day;
- uint8_t week;
- uint8_t hour;
- uint8_t minute;
- uint8_t second;
- uint8_t pad1;
- }STDATETIME;
- #pragma pack()
- #pragma pack(4)
- typedef struct _special_flag_
- {
- uint32_t I2C8025F;
- }SPECIALFLAG;
- #pragma pack()
- extern STDATETIME stDateTime;
- void Get8025( uint8_t addr, uint8_t *data, uint8_t counter);
- void Set8025( uint8_t addr, uint8_t *data, uint8_t counter);
- void Init8025(void);
- void RtcSetDateTime(STDATETIME *pTime);
- void RtcSetLocalTime(void);
- void UpdateDateTime(void);
- uint8_t TestDevice(void);
- #endif
|