Merge pull request #1753 from xoviat/rtc-wb

stm32/rtc: enable in rcc mod
This commit is contained in:
xoviat
2023-08-09 01:48:11 +00:00
committed by GitHub
10 changed files with 155 additions and 97 deletions

View File

@ -10,13 +10,16 @@ use chrono::{NaiveDate, NaiveDateTime};
use common::*;
use defmt::assert;
use embassy_executor::Spawner;
use embassy_stm32::pac;
use embassy_stm32::rtc::{Rtc, RtcConfig};
use embassy_stm32::rtc::{Rtc, RtcClockSource, RtcConfig};
use embassy_time::{Duration, Timer};
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
let p = embassy_stm32::init(config());
let mut config = config();
config.rcc.rtc = Some(RtcClockSource::LSI);
let p = embassy_stm32::init(config);
info!("Hello World!");
let now = NaiveDate::from_ymd_opt(2020, 5, 15)
@ -24,13 +27,6 @@ async fn main(_spawner: Spawner) {
.and_hms_opt(10, 30, 15)
.unwrap();
info!("Starting LSI");
pac::RCC.csr().modify(|w| w.set_lsion(true));
while !pac::RCC.csr().read().lsirdy() {}
info!("Started LSI");
let mut rtc = Rtc::new(p.RTC, RtcConfig::default());
rtc.set_datetime(now.into()).expect("datetime not set");