aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/platforms/STM32/pwm_lld.c13
-rw-r--r--readme.txt1
2 files changed, 8 insertions, 6 deletions
diff --git a/os/hal/platforms/STM32/pwm_lld.c b/os/hal/platforms/STM32/pwm_lld.c
index 4392d5db9..cdb2d3978 100644
--- a/os/hal/platforms/STM32/pwm_lld.c
+++ b/os/hal/platforms/STM32/pwm_lld.c
@@ -138,7 +138,7 @@ CH_IRQ_HANDLER(TIM1_UP_IRQHandler) {
CH_IRQ_PROLOGUE();
- TIM1->SR = ~TIM_SR_UIF;
+ STM32_TIM1->SR = ~TIM_SR_UIF;
PWMD1.config->callback(&PWMD1);
CH_IRQ_EPILOGUE();
@@ -157,8 +157,9 @@ CH_IRQ_HANDLER(TIM1_CC_IRQHandler) {
CH_IRQ_PROLOGUE();
- sr = TIM1->SR & TIM1->DIER;
- TIM1->SR = ~(TIM_SR_CC1IF | TIM_SR_CC2IF | TIM_SR_CC3IF | TIM_SR_CC4IF);
+ sr = STM32_TIM1->SR & STM32_TIM1->DIER;
+ STM32_TIM1->SR = ~(TIM_SR_CC1IF | TIM_SR_CC2IF |
+ TIM_SR_CC3IF | TIM_SR_CC4IF);
if ((sr & TIM_SR_CC1IF) != 0)
PWMD1.config->channels[0].callback(&PWMD1);
if ((sr & TIM_SR_CC2IF) != 0)
@@ -249,7 +250,7 @@ CH_IRQ_HANDLER(TIM8_UP_IRQHandler) {
CH_IRQ_PROLOGUE();
- TIM8->SR = ~TIM_SR_UIF;
+ STM32_TIM8->SR = ~TIM_SR_UIF;
PWMD1.config->callback(&PWMD8);
CH_IRQ_EPILOGUE();
@@ -268,8 +269,8 @@ CH_IRQ_HANDLER(TIM8_CC_IRQHandler) {
CH_IRQ_PROLOGUE();
- sr = TIM8->SR & TIM8->DIER;
- TIM8->SR = ~(TIM_SR_CC1IF | TIM_SR_CC2IF | TIM_SR_CC3IF | TIM_SR_CC4IF);
+ sr = STM32_TIM8->SR & STM32_TIM8->DIER;
+ STM32_TIM8->SR = ~(TIM_SR_CC1IF | TIM_SR_CC2IF | TIM_SR_CC3IF | TIM_SR_CC4IF);
if ((sr & TIM_SR_CC1IF) != 0)
PWMD8.config->channels[0].callback(&PWMD8);
if ((sr & TIM_SR_CC2IF) != 0)
diff --git a/readme.txt b/readme.txt
index 1cb86d244..060f1c022 100644
--- a/readme.txt
+++ b/readme.txt
@@ -74,6 +74,7 @@
*****************************************************************************
*** 2.3.5 ***
+- FIX: Fixed PWM with TIM1 and TIM8 broken in STM32 HAL (bug 3458947).
- FIX: Fixed SYSCFG clock not started in STM32L1/F4 HALs (bug 3449139).
- FIX: Fixed wrong definitions in STM32L-Discovery board file (bug 3449076).
- NEW: Modified the STM32F4-Discovery demo to put critical kernel data