#![no_main]
#![no_std]
use cortex_m_rt::entry;
use panic_rtt_target as _;
use rtt_target::{rprintln, rtt_init_print};
use stm32f4xx_hal::{pac, prelude::*, rtc::Rtc};
use time::{
macros::{date, time},
PrimitiveDateTime,
};
#[entry]
fn main() -> ! {
rtt_init_print!();
let mut p = pac::Peripherals::take().unwrap();
let rcc = p.RCC.constrain();
let clocks = rcc.cfgr.freeze();
let mut rtc = Rtc::new(p.RTC, &mut p.PWR);
let mut delay = p.TIM5.delay_us(&clocks);
rtc.set_datetime(&PrimitiveDateTime::new(
date!(2022 - 02 - 07),
time!(23:59:50),
))
.unwrap();
loop {
rprintln!("{}", rtc.get_datetime());
delay.delay(500.millis());
}
}