| | |
| | | #ifndef _RTC_H_ |
| | | #define _RTC_H_ |
| | | |
| | | |
| | | #ifndef __RTC_H |
| | | #define __RTC_H |
| | | #include "stm32f10x.h" |
| | | #include "define_all.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;} |
| | | |
| | | extern __IO RTC_TimeDateTypeDef calendar_g; |
| | | |
| | | void RTC_Init(void); |
| | | ErrorStatus_STM32 Get_Sys_Rtc_Time(__IO RTC_TimeDateTypeDef * pOutput_timedata); |
| | | ErrorStatus_STM32 Set_Sys_Rtc_Time(uint8_t year,uint8_t month,uint8_t day,uint8_t hour,uint8_t min,uint8_t sec,uint8_t week); |
| | | |
| | | #endif |
| | | |
| | | |
| | | #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_ */ |