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
This commit is contained in:
Ulf Lilleengen 2025-05-15 20:08:25 +02:00 committed by GitHub
commit ee23412d91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -464,6 +464,10 @@ impl<'d> Drop for Pwm<'d> {
pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false)); pac::PWM.ch(self.slice).csr().write_clear(|w| w.set_en(false));
if let Some(pin) = &self.pin_a { if let Some(pin) = &self.pin_a {
pin.gpio().ctrl().write(|w| w.set_funcsel(31)); pin.gpio().ctrl().write(|w| w.set_funcsel(31));
// Enable pin PULL-DOWN
pin.pad_ctrl().modify(|w| {
w.set_pde(true);
});
} }
if let Some(pin) = &self.pin_b { if let Some(pin) = &self.pin_b {
pin.gpio().ctrl().write(|w| w.set_funcsel(31)); pin.gpio().ctrl().write(|w| w.set_funcsel(31));
@ -472,6 +476,10 @@ impl<'d> Drop for Pwm<'d> {
pin.pad_ctrl().modify(|w| { pin.pad_ctrl().modify(|w| {
w.set_ie(false); w.set_ie(false);
}); });
// Enable pin PULL-DOWN
pin.pad_ctrl().modify(|w| {
w.set_pde(true);
});
} }
} }
} }