mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-25 08:12:30 +00:00
commit
681393150d
@ -736,6 +736,11 @@ impl<'d, T: Instance> SimplePwm<'d, T> {
|
||||
r.enable.write(|w| w.enable().disabled());
|
||||
}
|
||||
|
||||
/// Returns the current duty of the channel
|
||||
pub fn duty(&self, channel: usize) -> u16 {
|
||||
self.duty[channel]
|
||||
}
|
||||
|
||||
/// Sets duty cycle (15 bit) for a PWM channel.
|
||||
pub fn set_duty(&mut self, channel: usize, duty: u16) {
|
||||
let r = T::regs();
|
||||
@ -755,7 +760,9 @@ impl<'d, T: Instance> SimplePwm<'d, T> {
|
||||
|
||||
// defensive wait until waveform is loaded after seqstart so set_duty
|
||||
// can't be called again while dma is still reading
|
||||
while r.events_seqend[0].read().bits() == 0 {}
|
||||
if self.is_enabled() {
|
||||
while r.events_seqend[0].read().bits() == 0 {}
|
||||
}
|
||||
}
|
||||
|
||||
/// Sets the PWM clock prescaler.
|
||||
|
Loading…
Reference in New Issue
Block a user