Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* USER CODE BEGIN Header */
- /**
- ******************************************************************************
- * @file stm32l1xx_it.c
- * @brief Interrupt Service Routines.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2019 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under BSD 3-Clause license,
- * the "License"; You may not use this file except in compliance with the
- * License. You may obtain a copy of the License at:
- * opensource.org/licenses/BSD-3-Clause
- *
- ******************************************************************************
- */
- /* USER CODE END Header */
- /* Includes ------------------------------------------------------------------*/
- #include "main.h"
- #include "stm32l1xx_it.h"
- /* Private includes ----------------------------------------------------------*/
- /* USER CODE BEGIN Includes */
- /* USER CODE END Includes */
- /* Private typedef -----------------------------------------------------------*/
- /* USER CODE BEGIN TD */
- /* USER CODE END TD */
- /* Private define ------------------------------------------------------------*/
- /* USER CODE BEGIN PD */
- /* USER CODE END PD */
- /* Private macro -------------------------------------------------------------*/
- /* USER CODE BEGIN PM */
- /* USER CODE END PM */
- /* Private variables ---------------------------------------------------------*/
- /* USER CODE BEGIN PV */
- /* USER CODE END PV */
- /* Private function prototypes -----------------------------------------------*/
- /* USER CODE BEGIN PFP */
- /* USER CODE END PFP */
- /* Private user code ---------------------------------------------------------*/
- /* USER CODE BEGIN 0 */
- /* USER CODE END 0 */
- /* External variables --------------------------------------------------------*/
- extern RTC_HandleTypeDef hrtc;
- extern TIM_HandleTypeDef htim2;
- extern TIM_HandleTypeDef htim3;
- /* USER CODE BEGIN EV */
- /* USER CODE END EV */
- /******************************************************************************/
- /* Cortex-M3 Processor Interruption and Exception Handlers */
- /******************************************************************************/
- /**
- * @brief This function handles Non maskable interrupt.
- */
- void NMI_Handler(void)
- {
- /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
- /* USER CODE END NonMaskableInt_IRQn 0 */
- /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
- /* USER CODE END NonMaskableInt_IRQn 1 */
- }
- /**
- * @brief This function handles Hard fault interrupt.
- */
- void HardFault_Handler(void)
- {
- /* USER CODE BEGIN HardFault_IRQn 0 */
- /* USER CODE END HardFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_HardFault_IRQn 0 */
- /* USER CODE END W1_HardFault_IRQn 0 */
- }
- }
- /**
- * @brief This function handles Memory management fault.
- */
- void MemManage_Handler(void)
- {
- /* USER CODE BEGIN MemoryManagement_IRQn 0 */
- /* USER CODE END MemoryManagement_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
- /* USER CODE END W1_MemoryManagement_IRQn 0 */
- }
- }
- /**
- * @brief This function handles Pre-fetch fault, memory access fault.
- */
- void BusFault_Handler(void)
- {
- /* USER CODE BEGIN BusFault_IRQn 0 */
- /* USER CODE END BusFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_BusFault_IRQn 0 */
- /* USER CODE END W1_BusFault_IRQn 0 */
- }
- }
- /**
- * @brief This function handles Undefined instruction or illegal state.
- */
- void UsageFault_Handler(void)
- {
- /* USER CODE BEGIN UsageFault_IRQn 0 */
- /* USER CODE END UsageFault_IRQn 0 */
- while (1)
- {
- /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
- /* USER CODE END W1_UsageFault_IRQn 0 */
- }
- }
- /**
- * @brief This function handles System service call via SWI instruction.
- */
- void SVC_Handler(void)
- {
- /* USER CODE BEGIN SVC_IRQn 0 */
- /* USER CODE END SVC_IRQn 0 */
- /* USER CODE BEGIN SVC_IRQn 1 */
- /* USER CODE END SVC_IRQn 1 */
- }
- /**
- * @brief This function handles Debug monitor.
- */
- void DebugMon_Handler(void)
- {
- /* USER CODE BEGIN DebugMonitor_IRQn 0 */
- /* USER CODE END DebugMonitor_IRQn 0 */
- /* USER CODE BEGIN DebugMonitor_IRQn 1 */
- /* USER CODE END DebugMonitor_IRQn 1 */
- }
- /**
- * @brief This function handles Pendable request for system service.
- */
- void PendSV_Handler(void)
- {
- /* USER CODE BEGIN PendSV_IRQn 0 */
- /* USER CODE END PendSV_IRQn 0 */
- /* USER CODE BEGIN PendSV_IRQn 1 */
- /* USER CODE END PendSV_IRQn 1 */
- }
- /**
- * @brief This function handles System tick timer.
- */
- void SysTick_Handler(void)
- {
- /* USER CODE BEGIN SysTick_IRQn 0 */
- /* USER CODE END SysTick_IRQn 0 */
- HAL_IncTick();
- /* USER CODE BEGIN SysTick_IRQn 1 */
- /* USER CODE END SysTick_IRQn 1 */
- }
- /******************************************************************************/
- /* STM32L1xx Peripheral Interrupt Handlers */
- /* Add here the Interrupt Handlers for the used peripherals. */
- /* For the available peripheral interrupt handler names, */
- /* please refer to the startup file (startup_stm32l1xx.s). */
- /******************************************************************************/
- /**
- * @brief This function handles RTC wake-up interrupt through EXTI line 20.
- */
- void RTC_WKUP_IRQHandler(void)
- {
- /* USER CODE BEGIN RTC_WKUP_IRQn 0 */
- /* USER CODE END RTC_WKUP_IRQn 0 */
- HAL_RTCEx_WakeUpTimerIRQHandler(&hrtc);
- /* USER CODE BEGIN RTC_WKUP_IRQn 1 */
- /* USER CODE END RTC_WKUP_IRQn 1 */
- }
- /**
- * @brief This function handles EXTI line1 interrupt.
- */
- void EXTI1_IRQHandler(void)
- {
- /* USER CODE BEGIN EXTI1_IRQn 0 */
- /* USER CODE END EXTI1_IRQn 0 */
- HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
- /* USER CODE BEGIN EXTI1_IRQn 1 */
- /* USER CODE END EXTI1_IRQn 1 */
- }
- /**
- * @brief This function handles EXTI line2 interrupt.
- */
- void EXTI2_IRQHandler(void)
- {
- /* USER CODE BEGIN EXTI2_IRQn 0 */
- /* USER CODE END EXTI2_IRQn 0 */
- HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2);
- /* USER CODE BEGIN EXTI2_IRQn 1 */
- /* USER CODE END EXTI2_IRQn 1 */
- }
- /**
- * @brief This function handles EXTI line3 interrupt.
- */
- void EXTI3_IRQHandler(void)
- {
- /* USER CODE BEGIN EXTI3_IRQn 0 */
- /* USER CODE END EXTI3_IRQn 0 */
- HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
- /* USER CODE BEGIN EXTI3_IRQn 1 */
- /* USER CODE END EXTI3_IRQn 1 */
- }
- uint32_t tick = 0;
- typedef enum state {idle, wakeUp} State;
- extern State machine;
- void EXTI9_5_IRQHandler(void)
- {
- if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_5))
- {
- if((HAL_GetTick() - tick) > 500)
- {
- tick = HAL_GetTick();
- if(machine == idle)
- machine = wakeUp;
- else
- ;
- }
- }
- HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5);
- }
- /**
- * @brief This function handles TIM2 global interrupt.
- */
- void TIM2_IRQHandler(void)
- {
- /* USER CODE BEGIN TIM2_IRQn 0 */
- /* USER CODE END TIM2_IRQn 0 */
- HAL_TIM_IRQHandler(&htim2);
- /* USER CODE BEGIN TIM2_IRQn 1 */
- /* USER CODE END TIM2_IRQn 1 */
- }
- /**
- * @brief This function handles TIM3 global interrupt.
- */
- extern uint16_t intTimer;
- void TIM3_IRQHandler(void)
- {
- intTimer++;
- HAL_TIM_IRQHandler(&htim3);
- /* USER CODE BEGIN TIM3_IRQn 1 */
- /* USER CODE END TIM3_IRQn 1 */
- }
- /**
- * @brief This function handles RTC alarms A and B interrupt through EXTI line 17.
- */
- void RTC_Alarm_IRQHandler(void)
- {
- /* USER CODE BEGIN RTC_Alarm_IRQn 0 */
- /* USER CODE END RTC_Alarm_IRQn 0 */
- HAL_RTC_AlarmIRQHandler(&hrtc);
- /* USER CODE BEGIN RTC_Alarm_IRQn 1 */
- /* USER CODE END RTC_Alarm_IRQn 1 */
- }
- /* USER CODE BEGIN 1 */
- /* USER CODE END 1 */
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Advertisement
Add Comment
Please, Sign In to add comment