Files
HBshuiwuConcentrator/APP/rtc_ext.h
2025-12-15 16:07:49 +08:00

72 lines
1.9 KiB
C

#ifndef _RTC_EXT_H_
#define _RTC_EXT_H_
#include "Basedefine.h"
#include "stm32f10x.h"
#include "Rtc.h"
typedef struct
{
u8 sec;
u8 min;
u8 hour;
u8 day;
u8 month;
u8 year;
u8 week;
}st_rtc_ext,*PLst_rtc_ext;
#define RTC_WRIT_ADDR 0x64
#define RTC_READ_ADDR 0x65
#define RTC_REG_SEC 0x00
#define RTC_REG_MIN 0x01
#define RTC_REG_HOUR 0x02
#define RTC_REG_WEEK 0x03
#define RTC_REG_DAY 0x04
#define RTC_REG_MONTH 0x05
#define RTC_REG_YEAR 0x06
#define RTC_REG_RAM 0x07
#define RTC_REG_MIN_Alarm 0x08
#define RTC_REG_WEEK_Alarm 0x09
#define RTC_REG_DAY_Alarm 0x0A
#define RTC_REG_COUNT0 0x0B
#define RTC_REG_COUNT1 0x0C
#define RTC_REG_EXT 0x0D
#define RTC_REG_FLAG 0x0E
#define RTC_REG_CTRL 0x0F
#define RTC_SDA_PIN GPIO_Pin_9
#define RTC_SDA_PIN_PORT GPIOB
#define RTC_SDA_PIN_CLK RCC_APB2Periph_GPIOB
#define RTC_SCL_PIN GPIO_Pin_8
#define RTC_SCL_PIN_PORT GPIOB
#define RTC_SCL_PIN_CLK RCC_APB2Periph_GPIOB
#define RTC_SDA_HIGH() GPIO_SetBits(RTC_SDA_PIN_PORT, RTC_SDA_PIN)
#define RTC_SDA_LOW() GPIO_ResetBits(RTC_SDA_PIN_PORT, RTC_SDA_PIN)
#define RTC_SCL_HIGH() GPIO_SetBits(RTC_SCL_PIN_PORT, RTC_SCL_PIN)
#define RTC_SCL_LOW() GPIO_ResetBits(RTC_SCL_PIN_PORT, RTC_SCL_PIN)
#define RTC_GET_SDA() GPIO_ReadInputDataBit( RTC_SDA_PIN_PORT, RTC_SDA_PIN)
void set_rtc_time(st_rtc_ext rtc_dat);
void read_rtc_time(st_rtc_ext * rtc_dat);
void read_rtc_stime(sTime *time_dat);
void read_rtc_stime(sTime *time_dat);
void RTC_test(void);
void ExtRTC_Process_Task(void *ptr);
void GetExternClockTime(st_rtc_ext * rtc_dat);
void set_rtc_time(st_rtc_ext rtc_dat);
u8* GetCurrentTime( void );
#endif