aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f4/src/bin
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-08-27 20:26:41 +0000
committerGitHub <[email protected]>2023-08-27 20:26:41 +0000
commit88146eb53e40ea2ab43c2db77f3f62c6d08c9b36 (patch)
tree39e00c267d61fde8c6caf47da6658f4e533a0b98 /examples/stm32f4/src/bin
parent13f050167346ce262ea33c0757496b832c90fa58 (diff)
parent326e78757b6b69ba598fb89030defd62e081af64 (diff)
Merge pull request #1830 from xoviat/rtc
stm32: move backup domain in rcc mod
Diffstat (limited to 'examples/stm32f4/src/bin')
-rw-r--r--examples/stm32f4/src/bin/rtc.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/examples/stm32f4/src/bin/rtc.rs b/examples/stm32f4/src/bin/rtc.rs
index 0eca58203..23ff8ac47 100644
--- a/examples/stm32f4/src/bin/rtc.rs
+++ b/examples/stm32f4/src/bin/rtc.rs
@@ -5,13 +5,17 @@
5use chrono::{NaiveDate, NaiveDateTime}; 5use chrono::{NaiveDate, NaiveDateTime};
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_stm32::rtc::{Rtc, RtcConfig}; 8use embassy_stm32::rtc::{Rtc, RtcClockSource, RtcConfig};
9use embassy_stm32::Config;
9use embassy_time::{Duration, Timer}; 10use embassy_time::{Duration, Timer};
10use {defmt_rtt as _, panic_probe as _}; 11use {defmt_rtt as _, panic_probe as _};
11 12
12#[embassy_executor::main] 13#[embassy_executor::main]
13async fn main(_spawner: Spawner) { 14async fn main(_spawner: Spawner) {
14 let p = embassy_stm32::init(Default::default()); 15 let mut config = Config::default();
16 config.rcc.rtc = Option::Some(RtcClockSource::LSI);
17 let p = embassy_stm32::init(config);
18
15 info!("Hello World!"); 19 info!("Hello World!");
16 20
17 let now = NaiveDate::from_ymd_opt(2020, 5, 15) 21 let now = NaiveDate::from_ymd_opt(2020, 5, 15)
@@ -23,8 +27,11 @@ async fn main(_spawner: Spawner) {
23 27
24 rtc.set_datetime(now.into()).expect("datetime not set"); 28 rtc.set_datetime(now.into()).expect("datetime not set");
25 29
26 // In reality the delay would be much longer 30 loop {
27 Timer::after(Duration::from_millis(20000)).await; 31 let now: NaiveDateTime = rtc.now().unwrap().into();
32
33 info!("{}", now.timestamp());
28 34
29 let _then: NaiveDateTime = rtc.now().unwrap().into(); 35 Timer::after(Duration::from_millis(1000)).await;
36 }
30} 37}