We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I've got a STM32CubeMX made project for running on stm32f401re using proteus. I need e shared variable named "mode" on two compiling units named main.c and stm32f4xx_it.c.
I've got the following definition on main.c:
char mode = 0; // 0: welcome, 1: timer running, 2: timer paused, 3: shutdown
And the following on stm32f4xx_it.c:
extern char mode; // 0: welcome, 1: timer running, 2: timer paused, 3: shutdown
I've got the following code on handling interrupt:
void EXTI0_IRQHandler(void) { /* USER CODE BEGIN EXTI0_IRQn 0 */ if (mode!=3){ mode = 1; } /* USER CODE END EXTI0_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); /* USER CODE BEGIN EXTI0_IRQn 1 */ /* USER CODE END EXTI0_IRQn 1 */ }
The interrupt routine is called fine but the mode doesn't change, since the function of the microcontroller doesn't change as I've programmed on main.c file.