Core/Src/main.c
MX_TIM2_Init(); /* USER CODE BEGIN 2 */ ** HERE ** /* USER CODE END 2 */
HAL_TIM_Base_Start_IT(&htim2); |
/* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ ** HERE ** } /* USER CODE END 3 */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET); // switch on LED3 HAL_Delay(500); // 500 ms delay HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET); // switch off LED3 HAL_Delay(500); // 500 ms delay |
Core/Src/stm32f7xx_it.c
/* USER CODE BEGIN TIM2_IRQn 0 */ /* USER CODE END TIM2_IRQn 0 */ HAL_TIM_IRQHandler(&htim2); /* USER CODE BEGIN TIM2_IRQn 1 */ ** HERE ** /* USER CODE END TIM2_IRQn 1 */
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0); |
Core/Src/stm32f7xx_it.c
/* USER CODE BEGIN EXTI15_10_IRQn 0 */ /* USER CODE END EXTI15_10_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13); // toggle LED1 at 2Hz /* USER CODE BEGIN EXTI15_10_IRQn 1 */ ** HERE ** /* USER CODE END EXTI15_10_IRQn 1 */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET); // switch on LED2 // HAL_Delay(2000); // uncomment to test if the HAL System Timer still works while ( HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) ) { // we are stalling inside the interrupt while the button is pressed - very bad practice // we do this to see if the Timer interrupt preempts this interrupt and toggles the LED // for the complete learning experience play with the priorities of these two interrupts } HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET); // switch off LED2 |