时钟芯片RX8025T STM32 Hal库驱动封装代码
#ifndef _RX8025T_H
#define _RX8025T_H
#include "sys.h"
#include "main.h"
extern u8 RX8025T_err;
struct RX8025T_data
{
u8 years;
u8 months;
u8 days;
u8 hours;
u8 minutes;
u8 seconds;
};
extern struct RX8025T_data rx8025t_time;
#define rx8025_sda_1 HAL_GPIO_WritePin(AT_SDA_GPIO_Port,AT_SDA_Pin,GPIO_PIN_SET)
#define rx8025_sda_0 HAL_GPIO_WritePin(AT_SDA_GPIO_Port,AT_SDA_Pin,GPIO_PIN_RESET)
#define rx8025_scl_1 HAL_GPIO_WritePin(AT_SCL_GPIO_Port,AT_SCL_Pin,GPIO_PIN_SET)
#define rx8025_scl_0 HAL_GPIO_WritePin(AT_SCL_GPIO_Port,AT_SCL_Pin,GPIO_PIN_RESET)
#define rx8025_sda_in GPIO_SetPinMode(AT_SDA_GPIO_Port,AT_SDA_Pin,GPIO_MODE_INPUT)
#define rx8025_sda_out GPIO_SetPinMode(AT_SDA_GPIO_Port,AT_SDA_Pin,GPIO_MODE_OUTPUT_PP)
#define rx8025_sda_read HAL_GPIO_ReadPin (AT_SDA_GPIO_Port,AT_SDA_Pin)
void RX8025T_init(void);
void RX8025T_read_time(void);
void RX8025T_time_set(u8 year,u8 month,u8 day,u8 hour,u8 min,u8 sec);
#endif
#include "rx8025t.h"
u8 RX8025T_err=0;
struct RX8025T_data rx8025t_time;
static void RX8025T_delay(