Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
DS3231.c File Reference
#include <stdio.h>
#include "bsp.h"
#include "rtc/device/DS3231.h"

Go to the source code of this file.

Overview

DS3231 RTC driver implementation.

Implements the functions defined in DS3231.h for controlling DS3231 RTC input/output and interrupts on the EfxSapphireSoC platform.

Definition in file DS3231.c.

Macros

#define RTC_SECONDS   0X00
#define RTC_MINUTES   0X01
#define RTC_HOURS   0X02
#define RTC_WEEKDAYS   0X03
#define RTC_DAYS   0X04
#define RTC_MONTH   0X05
#define RTC_YEAR   0X06
#define CONTROL_ADDR   0X0E
#define STATUS_ADDR   0X0F
#define AGING_ADDR   0X10
#define MSB_TEMP   0X11
#define LSB_TEMP   0X12
#define SECONDS_DATA   0X7F
#define MINUTES_DATA   0X7F
#define _12HOURS_DATA   0X1F
#define _24HOURS_DATA   0X3F
#define DAYS_DATA   0XFF
#define DATE_DATA   0X37
#define MONTH_DATA   0X1F
#define YEAR_DATA   0XFF

Functions

rtc_status_t DS3231_getTime (rtc_instance_t *rtc)
 Get time from DS3231 RTC.
rtc_status_t DS3231_setTimeSystem (rtc_instance_t *rtc, u8 use_12hour_mode)
 Set time system (12-hour or 24-hour) on DS3231 RTC.
rtc_status_t DS3231_setTime (rtc_instance_t *rtc)
 Set time on DS3231 RTC.

Variables

const rtc_api_t DS3231_driver

Macro Definition Documentation

◆ _12HOURS_DATA

#define _12HOURS_DATA   0X1F

Definition at line 43 of file DS3231.c.

◆ _24HOURS_DATA

#define _24HOURS_DATA   0X3F

Definition at line 44 of file DS3231.c.

◆ AGING_ADDR

#define AGING_ADDR   0X10

Definition at line 36 of file DS3231.c.

◆ CONTROL_ADDR

#define CONTROL_ADDR   0X0E

Definition at line 34 of file DS3231.c.

◆ DATE_DATA

#define DATE_DATA   0X37

Definition at line 46 of file DS3231.c.

◆ DAYS_DATA

#define DAYS_DATA   0XFF

Definition at line 45 of file DS3231.c.

◆ LSB_TEMP

#define LSB_TEMP   0X12

Definition at line 38 of file DS3231.c.

◆ MINUTES_DATA

#define MINUTES_DATA   0X7F

Definition at line 42 of file DS3231.c.

◆ MONTH_DATA

#define MONTH_DATA   0X1F

Definition at line 47 of file DS3231.c.

◆ MSB_TEMP

#define MSB_TEMP   0X11

Definition at line 37 of file DS3231.c.

◆ RTC_DAYS

#define RTC_DAYS   0X04

Definition at line 29 of file DS3231.c.

◆ RTC_HOURS

#define RTC_HOURS   0X02

Definition at line 27 of file DS3231.c.

◆ RTC_MINUTES

#define RTC_MINUTES   0X01

Definition at line 26 of file DS3231.c.

◆ RTC_MONTH

#define RTC_MONTH   0X05

Definition at line 30 of file DS3231.c.

◆ RTC_SECONDS

#define RTC_SECONDS   0X00

Definition at line 25 of file DS3231.c.

◆ RTC_WEEKDAYS

#define RTC_WEEKDAYS   0X03

Definition at line 28 of file DS3231.c.

◆ RTC_YEAR

#define RTC_YEAR   0X06

Definition at line 31 of file DS3231.c.

◆ SECONDS_DATA

#define SECONDS_DATA   0X7F

Definition at line 41 of file DS3231.c.

◆ STATUS_ADDR

#define STATUS_ADDR   0X0F

Definition at line 35 of file DS3231.c.

◆ YEAR_DATA

#define YEAR_DATA   0XFF

Definition at line 48 of file DS3231.c.

Variable Documentation

◆ DS3231_driver

const rtc_api_t DS3231_driver
Initial value:
=
{
.getTime = DS3231_getTime,
.setTime = DS3231_setTime,
.setTimeSystem = DS3231_setTimeSystem,
}
rtc_status_t DS3231_getTime(rtc_instance_t *rtc)
Get time from DS3231 RTC.
Definition DS3231.c:62
rtc_status_t DS3231_setTimeSystem(rtc_instance_t *rtc, u8 use_12hour_mode)
Set time system (12-hour or 24-hour) on DS3231 RTC.
Definition DS3231.c:94
rtc_status_t DS3231_setTime(rtc_instance_t *rtc)
Set time on DS3231 RTC.
Definition DS3231.c:149

Definition at line 54 of file DS3231.c.