diff options
Diffstat (limited to 'os/hal/platforms')
-rw-r--r-- | os/hal/platforms/STM32/icu_lld.c | 3 | ||||
-rw-r--r-- | os/hal/platforms/STM32/pwm_lld.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/os/hal/platforms/STM32/icu_lld.c b/os/hal/platforms/STM32/icu_lld.c index 82fb39769..703c9dea5 100644 --- a/os/hal/platforms/STM32/icu_lld.c +++ b/os/hal/platforms/STM32/icu_lld.c @@ -103,7 +103,8 @@ ICUDriver ICUD8; static void icu_lld_serve_interrupt(ICUDriver *icup) {
uint16_t sr;
- sr = icup->tim->SR & icup->tim->DIER;
+ sr = icup->tim->SR;
+ sr &= icup->tim->DIER;
icup->tim->SR = ~sr;
if (icup->config->channel == ICU_CHANNEL_1) {
if ((sr & TIM_SR_CC1IF) != 0)
diff --git a/os/hal/platforms/STM32/pwm_lld.c b/os/hal/platforms/STM32/pwm_lld.c index dcd0d166f..a90c0b44a 100644 --- a/os/hal/platforms/STM32/pwm_lld.c +++ b/os/hal/platforms/STM32/pwm_lld.c @@ -104,7 +104,8 @@ PWMDriver PWMD8; static void pwm_lld_serve_interrupt(PWMDriver *pwmp) {
uint16_t sr;
- sr = pwmp->tim->SR & pwmp->tim->DIER;
+ sr = pwmp->tim->SR;
+ sr &= pwmp->tim->DIER;
pwmp->tim->SR = ~sr;
if ((sr & TIM_SR_CC1IF) != 0)
pwmp->config->channels[0].callback(pwmp);
|