diff --git a/arch/arm/src/stm32/stm32_tim.c b/arch/arm/src/stm32/stm32_tim.c index 413c404d3fa..2baf0967eae 100644 --- a/arch/arm/src/stm32/stm32_tim.c +++ b/arch/arm/src/stm32/stm32_tim.c @@ -1672,7 +1672,7 @@ static int stm32_tim_setisr(FAR struct stm32_tim_dev_s *dev, xcpt_t handler, static void stm32_tim_enableint(FAR struct stm32_tim_dev_s *dev, int source) { DEBUGASSERT(dev != NULL); - stm32_modifyreg16(dev, STM32_BTIM_DIER_OFFSET, 0, ATIM_DIER_UIE); + stm32_modifyreg16(dev, STM32_BTIM_DIER_OFFSET, 0, source); } /************************************************************************************ @@ -1682,7 +1682,7 @@ static void stm32_tim_enableint(FAR struct stm32_tim_dev_s *dev, int source) static void stm32_tim_disableint(FAR struct stm32_tim_dev_s *dev, int source) { DEBUGASSERT(dev != NULL); - stm32_modifyreg16(dev, STM32_BTIM_DIER_OFFSET, ATIM_DIER_UIE, 0); + stm32_modifyreg16(dev, STM32_BTIM_DIER_OFFSET, source, 0); } /************************************************************************************ @@ -1691,7 +1691,7 @@ static void stm32_tim_disableint(FAR struct stm32_tim_dev_s *dev, int source) static void stm32_tim_ackint(FAR struct stm32_tim_dev_s *dev, int source) { - stm32_putreg16(dev, STM32_BTIM_SR_OFFSET, ~ATIM_SR_UIF); + stm32_putreg16(dev, STM32_BTIM_SR_OFFSET, ~source); } /************************************************************************************ @@ -1701,7 +1701,7 @@ static void stm32_tim_ackint(FAR struct stm32_tim_dev_s *dev, int source) static int stm32_tim_checkint(FAR struct stm32_tim_dev_s *dev, int source) { uint16_t regval = stm32_getreg16(dev, STM32_BTIM_SR_OFFSET); - return (regval & ATIM_SR_UIF) ? 1 : 0; + return (regval & source) ? 1 : 0; } /************************************************************************************ diff --git a/configs/maple/src/stm32_lcd.c b/configs/maple/src/stm32_lcd.c index ccc02807f4d..ad2e879dbbb 100644 --- a/configs/maple/src/stm32_lcd.c +++ b/configs/maple/src/stm32_lcd.c @@ -82,7 +82,7 @@ static xcpt_t g_isr; static int up_lcdextcominisr(int irq, void *context, void *arg) { - STM32_TIM_ACKINT(tim, 0); + STM32_TIM_ACKINT(tim, ATIM_SR_UIF); if (g_isr == NULL) { lcderr("ERROR: error, irq not attached, disabled\n"); @@ -99,12 +99,12 @@ static int up_lcdirqattach(xcpt_t isr, void * arg) if (isr != NULL) { - STM32_TIM_SETISR(tim, up_lcdextcominisr, arg, 0); + STM32_TIM_SETISR(tim, up_lcdextcominisr, arg, ATIM_SR_UIF); g_isr = isr; } else { - STM32_TIM_SETISR(tim, NULL, NULL, 0); + STM32_TIM_SETISR(tim, NULL, NULL, ATIM_SR_UIF); g_isr = NULL; } @@ -118,12 +118,12 @@ static void up_lcddispcontrol(bool on) if (on) { stm32_gpiowrite(GPIO_MEMLCD_DISP, 1); - STM32_TIM_ENABLEINT(tim, 0); + STM32_TIM_ENABLEINT(tim, ATIM_SR_UIF); } else { stm32_gpiowrite(GPIO_MEMLCD_DISP, 0); - STM32_TIM_DISABLEINT(tim, 0); + STM32_TIM_DISABLEINT(tim, ATIM_SR_UIF); } } diff --git a/configs/viewtool-stm32f107/src/stm32_highpri.c b/configs/viewtool-stm32f107/src/stm32_highpri.c index 92ad5e9adbd..5eea8d60ac8 100644 --- a/configs/viewtool-stm32f107/src/stm32_highpri.c +++ b/configs/viewtool-stm32f107/src/stm32_highpri.c @@ -130,7 +130,7 @@ void tim6_handler(void) /* Acknowledge the timer interrupt */ - STM32_TIM_ACKINT(g_highpri.dev, 0); + STM32_TIM_ACKINT(g_highpri.dev, ATIM_SR_UIF); /* Increment the count associated with the current basepri */ @@ -217,7 +217,7 @@ int highpri_main(int argc, char *argv[]) /* Enable the timer interrupt at the NVIC and at TIM6 */ up_enable_irq(STM32_IRQ_TIM6); - STM32_TIM_ENABLEINT(dev, 0); + STM32_TIM_ENABLEINT(dev, ATIM_SR_UIF); /* Monitor interrupts */