diff options
| author | Ulf Lilleengen <[email protected]> | 2025-05-15 20:08:25 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-15 20:08:25 +0200 |
| commit | ee23412d91ce7b1482532016c4baee9425d897e2 (patch) | |
| tree | 09aa50459fcb8fcdddabcf6fbb7f2e1bcaf5777d /embassy-rp | |
| parent | f97e5db963ec09a1a24dbae5208efd7d416d1381 (diff) | |
| parent | 54ef354d21f7a90b0ccddbe6d1a037b35baa6006 (diff) | |
Merge pull request #4115 from 1-rafael-1/dropping-pwm-leaves-pins-in-incorrect-state
pwm: enable pull-down resistors for pins in Drop implementation
Diffstat (limited to 'embassy-rp')
| -rw-r--r-- | embassy-rp/src/pwm.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/embassy-rp/src/pwm.rs b/embassy-rp/src/pwm.rs index 6dfb90fef..1e1ccc4c6 100644 --- a/embassy-rp/src/pwm.rs +++ b/embassy-rp/src/pwm.rs | |||
| @@ -464,6 +464,10 @@ impl<'d> Drop for Pwm<'d> { | |||
| 464 | pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false)); | 464 | pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false)); |
| 465 | if let Some(pin) = &self.pin_a { | 465 | if let Some(pin) = &self.pin_a { |
| 466 | pin.gpio().ctrl().write(|w| w.set_funcsel(31)); | 466 | pin.gpio().ctrl().write(|w| w.set_funcsel(31)); |
| 467 | // Enable pin PULL-DOWN | ||
| 468 | pin.pad_ctrl().modify(|w| { | ||
| 469 | w.set_pde(true); | ||
| 470 | }); | ||
| 467 | } | 471 | } |
| 468 | if let Some(pin) = &self.pin_b { | 472 | if let Some(pin) = &self.pin_b { |
| 469 | pin.gpio().ctrl().write(|w| w.set_funcsel(31)); | 473 | pin.gpio().ctrl().write(|w| w.set_funcsel(31)); |
| @@ -472,6 +476,10 @@ impl<'d> Drop for Pwm<'d> { | |||
| 472 | pin.pad_ctrl().modify(|w| { | 476 | pin.pad_ctrl().modify(|w| { |
| 473 | w.set_ie(false); | 477 | w.set_ie(false); |
| 474 | }); | 478 | }); |
| 479 | // Enable pin PULL-DOWN | ||
| 480 | pin.pad_ctrl().modify(|w| { | ||
| 481 | w.set_pde(true); | ||
| 482 | }); | ||
| 475 | } | 483 | } |
| 476 | } | 484 | } |
| 477 | } | 485 | } |
