64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
#ifndef _RTC_H_
|
|
#define _RTC_H_
|
|
|
|
//#define _nop_() udelay(1);
|
|
#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();}
|
|
|
|
|
|
|
|
|
|
extern unsigned char bySta;
|
|
|
|
|
|
|
|
|
|
// 假设 BM8563 的 I2C 地址
|
|
#define BM8563_ADDR 0xA2
|
|
|
|
// 假设 BM8563 寄存器地址
|
|
#define BM8563_CSR2 0x01
|
|
#define BM8563_SEC 0x02
|
|
#define BM8563_MIN 0x03
|
|
#define BM8563_HOUR 0x04
|
|
#define BM8563_DAY 0x05
|
|
#define BM8563_WEEK 0x06
|
|
#define BM8563_MONTH 0x07
|
|
#define BM8563_YEAR 0x08
|
|
#define BM8563_ALARM_MIN 0x09
|
|
#define BM8563_ALARM_HOUR 0x0A
|
|
#define BM8563_ALARM_DAY 0x0B
|
|
#define BM8563_ALARM_WEEK 0x0C
|
|
#define BM8563_CONTROL 0x0E // 定时器控制寄存器
|
|
#define BM8563_STATUS 0x01
|
|
#define BM8563_TIMER_VALUE 0x0F // 定时器计数寄存器
|
|
|
|
|
|
void BM8563_InitTime();
|
|
void BM8563_Set4HourCountdown();
|
|
unsigned char BM8563_ReadReg(unsigned char reg);
|
|
void BM8563_WriteReg(unsigned char reg, unsigned char rdata);
|
|
void BM8563_Set4HourAlarm();
|
|
|
|
void iic_start(void);
|
|
void iic_stop(void);
|
|
void iic_ack(bit ackbit);
|
|
void iic_sendbyte(unsigned char byt);
|
|
void wrbyte_24c02(unsigned int add,unsigned char dat);
|
|
|
|
bit iic_waitack(void);
|
|
unsigned char i2c_recbyte(void);
|
|
unsigned char rdbyte_24c02(unsigned int add);
|
|
unsigned char wrEE_CRC_Bak(unsigned char add,unsigned char *eeData,unsigned char len,unsigned char addbak);
|
|
unsigned char rdEE_CRC_Bak(unsigned char add,unsigned char *eeData,unsigned char len,unsigned char addbak);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |