diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs index 14f2559e1..81d427a74 100644 --- a/embassy-stm32/src/gpio.rs +++ b/embassy-stm32/src/gpio.rs @@ -310,9 +310,6 @@ pub(crate) mod sealed { unsafe fn set_as_af(&self, af_num: u8, af_type: OutputType) { let pin = self._pin() as usize; let block = self.block(); - block - .moder() - .modify(|w| w.set_moder(pin, vals::Moder::ALTERNATE)); block .afr(pin / 8) .modify(|w| w.set_afr(pin % 8, vals::Afr(af_num))); @@ -327,6 +324,10 @@ pub(crate) mod sealed { block .pupdr() .modify(|w| w.set_pupdr(pin, vals::Pupdr::FLOATING)); + + block + .moder() + .modify(|w| w.set_moder(pin, vals::Moder::ALTERNATE)); } unsafe fn set_as_analog(&self) {