15#ifndef __FW_DS3231_H__
16#define __FW_DS3231_H__
21#define DS3231_I2C_ADDR 0xD0
23#define DS3231_REG_SECOND 0x00
24#define DS3231_REG_MINUTE 0x01
25#define DS3231_REG_HOUR 0x02
26#define DS3231_REG_WEEK 0x03
27#define DS3231_REG_DATE 0x04
28#define DS3231_REG_MONTH 0x05
29#define DS3231_REG_YEAR 0x06
30#define DS3231_REG_ALARM1_SECOND 0x07
31#define DS3231_REG_ALARM1_MINUTE 0x08
32#define DS3231_REG_ALARM1_HOUR 0x09
33#define DS3231_REG_ALARM1_WEEK 0x0A
34#define DS3231_REG_ALARM2_MINUTE 0x0B
35#define DS3231_REG_ALARM2_HOUR 0x0C
36#define DS3231_REG_ALARM2_WEEK 0x0D
37#define DS3231_REG_CONTROL 0x0E
38#define DS3231_REG_STATUS 0x0F
39#define DS3231_REG_XTAL 0x10
40#define DS3231_REG_TEMPERATUREH 0x11
41#define DS3231_REG_TEMPERATUREL 0x12
uint8_t DS3231_SetAlarmInterrupt(DS3231_Alarm_t alarm, HAL_State_t state)
uint8_t DS3231_SetAlarm1(uint8_t *t, DS3231_Alarm1Mode_t mode)
uint8_t DS3231_GetPin(DS3231_PinType_t *pin)
uint8_t DS3231_SetAlarm2(uint8_t *t, DS3231_Alarm2Mode_t mode)
uint8_t DS3231_SetSquareOutputState(HAL_State_t state)
uint8_t DS3231_GetStatus(void)
@ DS3231_ALARM2_MODE_ONCE_A_MINUTE
@ DS3231_ALARM2_MODE_WEEK_HOUR_MINUTE_MATCH
@ DS3231_ALARM2_MODE_HOUR_MINUTE_MATCH
@ DS3231_ALARM2_MODE_MINUTE_MATCH
@ DS3231_ALARM2_MODE_DATE_HOUR_MINUTE_MATCH
uint8_t ds3231_GetSquareOutputState(HAL_State_t *state)
uint8_t DS3231_SetPin(DS3231_PinType_t *pin)
@ DS3231_ALARM1_MODE_WEEK_HOUR_MINUTE_SECOND_MATCH
@ DS3231_ALARM1_MODE_ONCE_A_SECOND
@ DS3231_ALARM1_MODE_MINUTE_SECOND_MATCH
@ DS3231_ALARM1_MODE_SECOND_MATCH
@ DS3231_ALARM1_MODE_HOUR_MINUTE_SECOND_MATCH
@ DS3231_ALARM1_MODE_DATE_HOUR_MINUTE_SECOND_MATCH
uint8_t DS3231_GetAlarm2(uint8_t *t, DS3231_Alarm2Mode_t *mode)
uint8_t DS3231_ClearAlarm(DS3231_Alarm_t alarm)
uint8_t DS3231_SetTime(uint8_t *t)
uint8_t DS3231_GetAlarm1(uint8_t *t, DS3231_Alarm1Mode_t *mode)
uint8_t DS3231_GetAlarmInterrupt(DS3231_Alarm_t alarm, HAL_State_t *state)
uint8_t DS3231_GetTime(uint8_t *t)