Skip to content
Snippets Groups Projects
ds1307.h 554 B
#pragma once

#define DS1307_I2C_ADDRESS 0xD0

#define DS1307_REG_DATE 0x00
#define DS1307_REG_CONTROL 0x07

struct date_t{
	uint8_t second;
	uint8_t minute;
	uint8_t hour;
	uint8_t weekday;
	uint8_t day;
	uint8_t month;
	uint8_t year;
} typedef date_t;

struct time_t{
	uint8_t second;
	uint8_t minute;
	uint8_t hour;
} typedef time_t;

void ds1307_init(void);
uint8_t ds1307_get_date(date_t* date);
uint8_t ds1307_set_date(date_t* date);
uint8_t ds1307_set_time(time_t* time);
void ds1307_write_date(date_t* date);
void ds1307_write_current_date(void);