#ifndef __RTC_H #define __RTC_H #include "stm32f10x.h" extern u8 I2C_RECV_DATA[7]; #define RX8025_ADDR_READ 0x65 #define RX8025_ADDR_WRITE 0x64 #define RX8025_WRITE_MODE 0xF0 #define RX8025_READ_MODE 0xF0 /**/ #define RX8025_ADDR_CONTROL1 0xE0 #define RX8025_ADDR_CONTROL2 0xF0 #define DS1339_Write_Add RX8025_ADDR_WRITE #define DS1339_Read_Add RX8025_ADDR_READ #define DS1339_Status_Reg 0x0F #define RX8025_ADDR_READ 0x65 #define RX8025_ADDR_WRITE 0x64 #define RX8025_WRITE_MODE 0xF0 #define RX8025_READ_MODE 0xF0 #define DS1339_SDA_PIN_NUM GPIO_Pin_14 // P3.1 IIC SDA ÐźŠ#define DS1339_SDA_PIN_GROUP GPIOE #define DS1339_CLK_PIN_NUM GPIO_Pin_13 // P3.2 IIC SCA ÐźŠ#define DS1339_CLK_PIN_GROUP GPIOE #define DS1339_INT_PIN_NUM GPIO_Pin_11 // P3.2 IIC SCA ÐźŠ#define DS1339_INT_PIN_GROUP GPIOE //IO·½ÏòÉèÖà #define SDA_IN() {GPIOE->CRH&=0XF0FFFFFF;GPIOE->CRH|=8<<24;} #define SDA_OUT() {GPIOE->CRH&=0XF0FFFFFF;GPIOE->CRH|=3<<24;} #define IIC_SCL PEout(13) //SCL #define IIC_SDA PEout(14) //SDA #define READ_SDA PEin(14) typedef struct { u8 hour; u8 min; u8 sec; //¹«ÀúÈÕÔÂÄêÖÜ u8 month; u8 date; u8 week; u16 year; }calendar_obj; extern calendar_obj calendar; typedef struct { uint8_t year; //Ä꣬BCD Âë 00~99 uint8_t month; //Ô£¬BCD Âë 01~12 uint8_t day; //ÈÕ£¬BCD Âë 01~31 uint8_t hour; //ʱ£¬BCD Âë 00~23 uint8_t min; //·Ö£¬BCD Âë 00~59 uint8_t sec; //Ã룬BCD Âë 00~59 }sClockBCD; // void I2C_STOP(void); // void I2C_START(void); // int I2C_GetACK(void); // void I2C_SetNAk(void); // void I2C_TxByte(u8 nValue); // u8 I2C_RxByte(void); // void I2C_Read(u8 num, u8 device_addr); // void I2C_Write(u8 num, u8 device_addr,u8 *data); // u8 OSFBIT_Check(void); // void OSFBIT_SetLow(void); void Time_Set(u16 year,u8 month,u8 date,u8 week,u8 hour,u8 min,u8 sec); void Get_Time(void); void set_alarm(void); // void set_peroid_alarm_rst(); // void set_peroid_alarm(); void Time_new_Set(u8 year,u8 month,u8 date,u8 week,u8 hour,u8 min,u8 sec); void BCD_time_Set(u8 year,u8 month,u8 date,u8 week,u8 hour,u8 min,u8 sec); void test_rtc(void); extern sClockBCD Time_BCD_g; //BCD #endif /* IIC_H_ */