aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/timer/simple_pwm.rs17
-rw-r--r--examples/stm32f4/src/bin/ws2812_pwm.rs2
2 files changed, 9 insertions, 10 deletions
diff --git a/embassy-stm32/src/timer/simple_pwm.rs b/embassy-stm32/src/timer/simple_pwm.rs
index acf0d12f9..7a5475c31 100644
--- a/embassy-stm32/src/timer/simple_pwm.rs
+++ b/embassy-stm32/src/timer/simple_pwm.rs
@@ -177,15 +177,14 @@ where
177 let req = self.dma.request(); 177 let req = self.dma.request();
178 178
179 #[cfg(not(any(bdma, gpdma)))] 179 #[cfg(not(any(bdma, gpdma)))]
180 let dma_regs = self.dma.regs(); 180 let (isr_bit, isr_reg, ifcr_reg) = {
181 #[cfg(not(any(bdma, gpdma)))] 181 let dma_regs = self.dma.regs();
182 let isr_num = self.dma.num() / 4; 182 let isr_num = self.dma.num() / 4;
183 #[cfg(not(any(bdma, gpdma)))] 183 let isr_bit = self.dma.num() % 4;
184 let isr_bit = self.dma.num() % 4; 184 let isr_reg = dma_regs.isr(isr_num);
185 #[cfg(not(any(bdma, gpdma)))] 185 let ifcr_reg = dma_regs.ifcr(isr_num);
186 let isr_reg = dma_regs.isr(isr_num); 186 (isr_bit, isr_reg, ifcr_reg)
187 #[cfg(not(any(bdma, gpdma)))] 187 };
188 let ifcr_reg = dma_regs.ifcr(isr_num);
189 188
190 #[cfg(not(any(bdma, gpdma)))] 189 #[cfg(not(any(bdma, gpdma)))]
191 // clean DMA FIFO error before a transfer 190 // clean DMA FIFO error before a transfer
diff --git a/examples/stm32f4/src/bin/ws2812_pwm.rs b/examples/stm32f4/src/bin/ws2812_pwm.rs
index 973743e49..93a89f16a 100644
--- a/examples/stm32f4/src/bin/ws2812_pwm.rs
+++ b/examples/stm32f4/src/bin/ws2812_pwm.rs
@@ -91,7 +91,7 @@ async fn main(_spawner: Spawner) {
91 91
92 loop { 92 loop {
93 for &color in color_list { 93 for &color in color_list {
94 ws2812_pwm.gen_waveform(Channel::Ch1, color).await; 94 ws2812_pwm.gen_waveform(pwm_channel, color).await;
95 // ws2812 need at least 50 us low level input to confirm the input data and change it's state 95 // ws2812 need at least 50 us low level input to confirm the input data and change it's state
96 Timer::after_micros(50).await; 96 Timer::after_micros(50).await;
97 // wait until ticker tick 97 // wait until ticker tick