28 #define RTC_DS1307_I2C I2C1
29 #define RTC_DS1307_I2C_RCC RCC_I2C1
30 #define RTC_DS1307_I2C_PORT_RCC RCC_GPIOB
31 #define RTC_DS1307_I2C_PORT GPIOB
32 #define RTC_DS1307_I2C_PIN_SDA GPIO_I2C1_SDA
33 #define RTC_DS1307_I2C_PIN_SCL GPIO_I2C1_SCL
34 #define RTC_DS1307_I2C_ADDR 0x68
41 #define RTC_DS1307_SQUARE_WAVE_TICKS (RTC_DS1307_SQUARE_WAVE_FREQUENCY/256)
42 #define RTC_DS1307_SQUARE_WAVE_FREQUENCY 4096
43 #define RTC_DS1307_SQUARE_WAVE_TIMER TIM2
44 #define RTC_DS1307_SQUARE_WAVE_TIMER_RCC RCC_TIM2
45 #define RTC_DS1307_SQUARE_WAVE_TIMER_IC TIM_IC1
46 #define RTC_DS1307_SQUARE_WAVE_TIMER_IN TIM_IC_IN_TI1
47 #define RTC_DS1307_SQUARE_WAVE_TIMER_TS TIM_SMCR_TS_IT1FP1
48 #define RTC_DS1307_SQUARE_WAVE_TIMER_IRQ NVIC_TIM2_IRQ
49 #define RTC_DS1307_SQUARE_WAVE_TIMER_ISR tim2_isr
50 #define RTC_DS1307_SQUARE_WAVE_GPIO_RCC RCC_GPIOA
51 #define RTC_DS1307_SQUARE_WAVE_GPIO_PORT GPIOA
52 #define RTC_DS1307_SQUARE_WAVE_GPIO_PIN GPIO_TIM2_CH1_ETR
55 #if defined(RTC_DS1307_SQUARE_WAVE_TICKS)
162 bool rtc_ds1307_write_time(uint8_t seconds, uint8_t minutes, uint8_t hours, uint8_t day, uint8_t date, uint8_t month, uint8_t year);
uint8_t rtc_ds1307_read_year(void)
read year from RTC IC
bool rtc_ds1307_oscillator_disable(void)
disable RTC IC oscillator
bool rtc_ds1307_write_day(uint8_t day)
write day into RTC IC
uint8_t rtc_ds1307_read_seconds(void)
read seconds from RTC IC
uint8_t rtc_ds1307_read_day(void)
read day from RTC IC
void rtc_ds1307_setup(void)
setup communication with RTC IC configure the I2C port defined in the sources
bool rtc_ds1307_write_square_wave(uint16_t frequency)
write square wave output frequency (in Hz)
bool rtc_ds1307_write_seconds(uint8_t seconds)
write seconds into RTC IC
volatile uint32_t rtc_ds1307_ticks
increment on SQUARE_WAVE_TICS square wave ticks
bool rtc_ds1307_oscillator_enable(void)
enable RTC IC oscillator
bool rtc_ds1307_write_month(uint8_t month)
write month into RTC IC
uint8_t rtc_ds1307_read_minutes(void)
read minutes from RTC IC
bool rtc_ds1307_oscillator_disabled(void)
verify if oscillator is disabled
uint8_t rtc_ds1307_read_hours(void)
read hours from RTC IC
bool rtc_ds1307_write_time(uint8_t seconds, uint8_t minutes, uint8_t hours, uint8_t day, uint8_t date, uint8_t month, uint8_t year)
write time into RTC IC
uint8_t * rtc_ds1307_read_time(void)
read time from RTC IC
bool rtc_ds1307_write_year(uint8_t year)
write year into RTC IC
bool rtc_ds1307_write_minutes(uint8_t minutes)
write minutes into RTC IC
volatile bool rtc_ds1307_tick_flag
set on SQUARE_WAVE_TICS square wave ticks
bool rtc_ds1307_write_hours(uint8_t hours)
write hours into RTC IC
bool rtc_ds1307_write_date(uint8_t date)
write date into RTC IC
uint16_t rtc_ds1307_read_square_wave(void)
read square wave output frequency (in Hz)
uint8_t rtc_ds1307_read_date(void)
read date from RTC IC
uint8_t rtc_ds1307_read_month(void)
read month from RTC IC