diff options
| -rw-r--r-- | embassy-stm32/src/gpio.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs index 7de223455..3fb7fda57 100644 --- a/embassy-stm32/src/gpio.rs +++ b/embassy-stm32/src/gpio.rs | |||
| @@ -689,17 +689,19 @@ pub(crate) trait SealedPin { | |||
| 689 | #[cfg(gpio_v1)] | 689 | #[cfg(gpio_v1)] |
| 690 | { | 690 | { |
| 691 | let crlh = if n < 8 { 0 } else { 1 }; | 691 | let crlh = if n < 8 { 0 } else { 1 }; |
| 692 | match r.cr(crlh).cnf(n % 8) { | 692 | match r.cr(crlh).read().mode(n % 8) { |
| 693 | vals::CnfIn::FLOATING => Pull::None, | 693 | vals::Mode::INPUT => { |
| 694 | _ => { | 694 | match r.cr(crlh).read().cnf_in(n % 8) { |
| 695 | if r.bsrr().read().bs(n % 8) { | 695 | vals::CnfIn::PULL => { |
| 696 | Pull::Up | 696 | match r.odr().read().odr(n % 8) { |
| 697 | } else if r.bsrr().read().br(n % 8) { | 697 | vals::Odr::LOW => Pull::Down, |
| 698 | Pull::Down | 698 | vals::Odr::HIGH => Pull::Up |
| 699 | } else { | 699 | } |
| 700 | Pull::None | 700 | }, |
| 701 | _ => Pull::None | ||
| 701 | } | 702 | } |
| 702 | } | 703 | }, |
| 704 | _ => Pull::None | ||
| 703 | } | 705 | } |
| 704 | } | 706 | } |
| 705 | #[cfg(gpio_v2)] | 707 | #[cfg(gpio_v2)] |
