From ea54b8a9fb1b8dce528a1465a9cc73ad0ffa0b90 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 26 Jun 2018 00:41:24 +0200 Subject: [PATCH] We have a working timer interrupt! --- Src/main.c | 9 +++++---- Src/stm32f1xx_it.c | 12 ++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Src/main.c b/Src/main.c index de59f78..57349e4 100644 --- a/Src/main.c +++ b/Src/main.c @@ -124,6 +124,10 @@ int main(void) display_init(); usb_start(&usb); + LL_TIM_EnableCounter(TIM4); + LL_TIM_EnableIT_UPDATE(TIM4); + LL_TIM_GenerateEvent_UPDATE(TIM4); + /* USER CODE END 2 */ /* Infinite loop */ @@ -133,10 +137,7 @@ int main(void) { debug_printf("Counter = %d\n", cnt); display_counter(cnt); - LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin); - LL_mDelay(500); - LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin); - LL_mDelay(500); + LL_mDelay(1000); cnt++; /* USER CODE END WHILE */ diff --git a/Src/stm32f1xx_it.c b/Src/stm32f1xx_it.c index a02f001..67ae5fe 100644 --- a/Src/stm32f1xx_it.c +++ b/Src/stm32f1xx_it.c @@ -36,6 +36,8 @@ #include "stm32f1xx_it.h" /* USER CODE BEGIN 0 */ +#include "util.h" +#include "app.h" /* USER CODE END 0 */ @@ -226,6 +228,16 @@ void USB_LP_CAN1_RX0_IRQHandler(void) void TIM4_IRQHandler(void) { /* USER CODE BEGIN TIM4_IRQn 0 */ + if (LL_TIM_IsActiveFlag_UPDATE(TIM4)) + { + static byte led_state; + if (led_state) + LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin); + else + LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin); + led_state ^= 1; + LL_TIM_ClearFlag_UPDATE(TIM4); + } /* USER CODE END TIM4_IRQn 0 */ /* USER CODE BEGIN TIM4_IRQn 1 */ -- 2.39.2