![]() |
Erriez DS3231 high precision I2C RTC library for Arduino
2.0.0
This is a DS3231 high precision I2C Real Time Clock library for Arduino by Erriez.
|
DS3231 high precision RTC library for Arduino. More...
#include <stdint.h>#include <time.h>

Go to the source code of this file.
Classes | |
| class | ErriezDS3231 |
| DS3231 RTC class. More... | |
Macros | |
| #define | DS3231_REG_SECONDS 0x00 |
| DS3231 registers. More... | |
| #define | DS3231_REG_MINUTES 0x01 |
| Minutes register. | |
| #define | DS3231_REG_HOURS 0x02 |
| Hours register. | |
| #define | DS3231_REG_DAY_WEEK 0x03 |
| Day of the week register. | |
| #define | DS3231_REG_DAY_MONTH 0x04 |
| Day of the month register. | |
| #define | DS3231_REG_MONTH 0x05 |
| Month register. | |
| #define | DS3231_REG_YEAR 0x06 |
| Year register. | |
| #define | DS3231_REG_ALARM1_SEC 0x07 |
| Alarm 1 seconds register. | |
| #define | DS3231_REG_ALARM1_MIN 0x08 |
| Alarm 1 minutes register. | |
| #define | DS3231_REG_ALARM1_HOUR 0x09 |
| Alarm 1 hour register. | |
| #define | DS3231_REG_ALARM1_DD 0x0A |
| Alarm 1 day/date register. | |
| #define | DS3231_REG_ALARM2_MIN 0x0B |
| Alarm 2 seconds register. | |
| #define | DS3231_REG_ALARM2_HOUR 0x0C |
| Alarm 2 hour register. | |
| #define | DS3231_REG_ALARM2_DD 0x0D |
| Alarm 2 day/date register. | |
| #define | DS3231_REG_CONTROL 0x0E |
| Control register. | |
| #define | DS3231_REG_STATUS 0x0F |
| Status register. | |
| #define | DS3231_REG_AGING_OFFSET 0x10 |
| Aging offset register. | |
| #define | DS3231_REG_TEMP_MSB 0x11 |
| Temperature MSB register. | |
| #define | DS3231_REG_TEMP_LSB 0x12 |
| Temperature LSB register. | |
| #define | DS3231_NUM_REGS 19 |
| DS3231 number of registers. More... | |
| #define | DS3231_HOUR_12H_24H 6 |
| DS3231 register bit defines. More... | |
| #define | DS3231_HOUR_AM_PM 5 |
| AM/PM. | |
| #define | DS3231_MONTH_CENTURY 7 |
| Century. | |
| #define | DS3231_CTRL_EOSC 7 |
| Enable oscillator. | |
| #define | DS3231_CTRL_BBSQW 6 |
| Battery-Backed Square-Wave Enable. | |
| #define | DS3231_CTRL_CONV 5 |
| Start temperature conversion. | |
| #define | DS3231_CTRL_RS2 4 |
| Square wave rate-select 2. | |
| #define | DS3231_CTRL_RS1 3 |
| Square wave rate-select 1. | |
| #define | DS3231_CTRL_INTCN 2 |
| Interrupt control. | |
| #define | DS3231_CTRL_A2IE 1 |
| Alarm 2 interrupt enable. | |
| #define | DS3231_CTRL_A1IE 0 |
| Alarm 1 interrupt enable. | |
| #define | DS3231_STAT_OSF 7 |
| Oscillator Stop Flag. | |
| #define | DS3231_STAT_EN32KHZ 3 |
| Enable 32kHz clock output. | |
| #define | DS3231_STAT_BSY 2 |
| Temperature conversion busy flag. | |
| #define | DS3231_STAT_A2F 1 |
| Alarm 2 status flag. | |
| #define | DS3231_STAT_A1F 0 |
| Alarm 1 status flag. | |
| #define | DS3231_A1M1 7 |
| Alarm 1 bit 7 seconds register. | |
| #define | DS3231_A1M2 7 |
| Alarm 1 bit 7 minutes register. | |
| #define | DS3231_A1M3 7 |
| Alarm 1 bit 7 hours register. | |
| #define | DS3231_A1M4 7 |
| Alarm 1 bit 7 day/date register. | |
| #define | DS3231_A2M2 7 |
| Alarm 2 bit 7 minutes register. | |
| #define | DS3231_A2M3 7 |
| Alarm 2 bit 7 hours register. | |
| #define | DS3231_A2M4 7 |
| Alarm 2 bit 7 day/date register. | |
| #define | DS3231_DYDT 6 |
| Alarm 2 bit 6. | |
| #define | DS3231_ADDR (0xD0 >> 1) |
| DS3231 I2C 7-bit address. | |
| #define | SECONDS_FROM_1970_TO_2000 946684800 |
| Number of seconds between year 1970 and 2000. | |
Enumerations | |
| enum | AlarmId { Alarm1 = 1, Alarm2 = 2 } |
| Alarm ID. More... | |
| enum | Alarm1Type { Alarm1EverySecond = 0x0F, Alarm1MatchSeconds = 0x0E, Alarm1MatchMinutes = 0x0C, Alarm1MatchHours = 0x08, Alarm1MatchDay = 0x10, Alarm1MatchDate = 0x00 } |
| Alarm 1 types enum. More... | |
| enum | Alarm2Type { Alarm2EveryMinute = 0x0E, Alarm2MatchMinutes = 0x0C, Alarm2MatchHours = 0x08, Alarm2MatchDay = 0x10, Alarm2MatchDate = 0x00 } |
| Alarm 2 types enum. More... | |
| enum | SquareWave { SquareWaveDisable = (1 << DS3231_CTRL_INTCN), SquareWave1Hz = ((0 << DS3231_CTRL_RS2) | (0 << DS3231_CTRL_RS1)), SquareWave1024Hz = ((0 << DS3231_CTRL_RS2) | (1 << DS3231_CTRL_RS1)), SquareWave4096Hz = ((1 << DS3231_CTRL_RS2) | (0 << DS3231_CTRL_RS1)), SquareWave8192Hz = ((1 << DS3231_CTRL_RS2) | (1 << DS3231_CTRL_RS1)) } |
| Squarewave enum. More... | |
DS3231 high precision RTC library for Arduino.
Source: https://github.com/Erriez/ErriezDS3231 Documentation: https://erriez.github.io/ErriezDS3231
Definition in file ErriezDS3231.h.
| #define DS3231_HOUR_12H_24H 6 |
| #define DS3231_NUM_REGS 19 |
DS3231 number of registers.
19 RTC register: 0x00..0x12
Definition at line 63 of file ErriezDS3231.h.
| #define DS3231_REG_SECONDS 0x00 |
| enum Alarm1Type |
Alarm 1 types enum.
Definition at line 112 of file ErriezDS3231.h.
| enum Alarm2Type |
Alarm 2 types enum.
Definition at line 125 of file ErriezDS3231.h.
| enum AlarmId |
Alarm ID.
| Enumerator | |
|---|---|
| Alarm1 | Alarm ID 1. |
| Alarm2 | Alarm ID 2. |
Definition at line 104 of file ErriezDS3231.h.
| enum SquareWave |
Squarewave enum.
| Enumerator | |
|---|---|
| SquareWaveDisable | SQW disable. |
| SquareWave1Hz | SQW 1Hz. |
| SquareWave1024Hz | SQW 1024Hz. |
| SquareWave4096Hz | SQW 4096Hz. |
| SquareWave8192Hz | SQW 8192Hz. |
Definition at line 137 of file ErriezDS3231.h.
1.8.13