aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-stm32/src/macros.rs')
-rw-r--r--embassy-stm32/src/macros.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/embassy-stm32/src/macros.rs b/embassy-stm32/src/macros.rs
index 7f8076043..dcd25cbe9 100644
--- a/embassy-stm32/src/macros.rs
+++ b/embassy-stm32/src/macros.rs
@@ -106,7 +106,14 @@ macro_rules! new_pin {
106 ($name:ident, $aftype:expr, $speed:expr, $pull:expr) => {{ 106 ($name:ident, $aftype:expr, $speed:expr, $pull:expr) => {{
107 let pin = $name.into_ref(); 107 let pin = $name.into_ref();
108 pin.set_as_af_pull(pin.af_num(), $aftype, $pull); 108 pin.set_as_af_pull(pin.af_num(), $aftype, $pull);
109 pin.set_speed($speed); 109 // Do not call set_speed on AFType::Input, as MODE and CNF bits are not independent
110 // for gpio_v1
111 match $aftype {
112 crate::gpio::AFType::Input => {}
113 _ => {
114 pin.set_speed($speed);
115 }
116 };
110 Some(pin.map_into()) 117 Some(pin.map_into())
111 }}; 118 }};
112} 119}