aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-04-17 21:48:47 +0200
committerDario Nieuwenhuis <[email protected]>2023-04-17 21:48:47 +0200
commit82dd7a5f8c08fe9b03b9d885ad992fcab1a9b00f (patch)
tree32b06f4749bcfa2a0bea1286a898a462a384f3e2
parent0dfa19299224f28ab686062d472c0ccea72ffd5a (diff)
stm32/sdmmc: add init_card retry.
-rw-r--r--examples/stm32f4/src/bin/sdmmc.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/examples/stm32f4/src/bin/sdmmc.rs b/examples/stm32f4/src/bin/sdmmc.rs
index ebdfdb22d..eeecbd321 100644
--- a/examples/stm32f4/src/bin/sdmmc.rs
+++ b/examples/stm32f4/src/bin/sdmmc.rs
@@ -39,7 +39,18 @@ async fn main(_spawner: Spawner) {
39 // Should print 400kHz for initialization 39 // Should print 400kHz for initialization
40 info!("Configured clock: {}", sdmmc.clock().0); 40 info!("Configured clock: {}", sdmmc.clock().0);
41 41
42 unwrap!(sdmmc.init_card(mhz(48)).await); 42 let mut err = None;
43 loop {
44 match sdmmc.init_card(mhz(24)).await {
45 Ok(_) => break,
46 Err(e) => {
47 if err != Some(e) {
48 info!("waiting for card error, retrying: {:?}", e);
49 err = Some(e);
50 }
51 }
52 }
53 }
43 54
44 let card = unwrap!(sdmmc.card()); 55 let card = unwrap!(sdmmc.card());
45 56