222 lines
6.4 KiB
C
222 lines
6.4 KiB
C
/* USER CODE BEGIN Header */
|
|
/**
|
|
******************************************************************************
|
|
* @file stm32g0xx_it.c
|
|
* @brief Interrupt Service Routines.
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* <h2><center>© Copyright (c) 2020 STMicroelectronics.
|
|
* All rights reserved.</center></h2>
|
|
*
|
|
* This software component is licensed by ST under Ultimate Liberty license
|
|
* SLA0044, the "License"; You may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at:
|
|
* www.st.com/SLA0044
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
/* USER CODE END Header */
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "main.h"
|
|
#include "stm32g0xx_it.h"
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
#include "usbpd.h"
|
|
#include "tracer_emb.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 DMA_HandleTypeDef hdma_adc1;
|
|
extern ADC_HandleTypeDef hadc1;
|
|
/* USER CODE BEGIN EV */
|
|
|
|
/* USER CODE END EV */
|
|
|
|
/******************************************************************************/
|
|
/* Cortex-M0+ 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 System tick timer.
|
|
*/
|
|
void SysTick_Handler(void)
|
|
{
|
|
/* USER CODE BEGIN SysTick_IRQn 0 */
|
|
|
|
/* USER CODE END SysTick_IRQn 0 */
|
|
HAL_IncTick();
|
|
#if (INCLUDE_xTaskGetSchedulerState == 1 )
|
|
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED)
|
|
{
|
|
#endif /* INCLUDE_xTaskGetSchedulerState */
|
|
xPortSysTickHandler();
|
|
#if (INCLUDE_xTaskGetSchedulerState == 1 )
|
|
}
|
|
#endif /* INCLUDE_xTaskGetSchedulerState */
|
|
USBPD_DPM_TimerCounter();
|
|
/* USER CODE BEGIN SysTick_IRQn 1 */
|
|
#if defined(_GUI_INTERFACE)
|
|
GUI_TimerCounter();
|
|
#endif /* _GUI_INTERFACE */
|
|
/* USER CODE END SysTick_IRQn 1 */
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/* STM32G0xx 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_stm32g0xx.s). */
|
|
/******************************************************************************/
|
|
|
|
/**
|
|
* @brief This function handles USB, UCPD1 and UCPD2 global interrupts.
|
|
*/
|
|
void USB_UCPD1_2_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN USB_UCPD1_2_IRQn 0 */
|
|
|
|
/* USER CODE END USB_UCPD1_2_IRQn 0 */
|
|
USBPD_PORT0_IRQHandler();
|
|
|
|
/* USER CODE BEGIN USB_UCPD1_2_IRQn 1 */
|
|
|
|
/* USER CODE END USB_UCPD1_2_IRQn 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles DMA1 channel 1 interrupt.
|
|
*/
|
|
void DMA1_Channel1_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN DMA1_Channel1_IRQn 0 */
|
|
|
|
/* USER CODE END DMA1_Channel1_IRQn 0 */
|
|
HAL_DMA_IRQHandler(&hdma_adc1);
|
|
/* USER CODE BEGIN DMA1_Channel1_IRQn 1 */
|
|
|
|
/* USER CODE END DMA1_Channel1_IRQn 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles DMA1 channel 2 and channel 3 interrupts.
|
|
*/
|
|
void DMA1_Channel2_3_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */
|
|
|
|
/* USER CODE END DMA1_Channel2_3_IRQn 0 */
|
|
|
|
/* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */
|
|
|
|
/* USER CODE END DMA1_Channel2_3_IRQn 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles DMA1 Ch4 to Ch7, DMA2 Ch1 to Ch5 and DMAMUX1 Overrun Interrupts.
|
|
*/
|
|
void DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQn 0 */
|
|
|
|
/* USER CODE END DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQn 0 */
|
|
|
|
TRACER_EMB_IRQHandlerDMA();
|
|
/* USER CODE BEGIN DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQn 1 */
|
|
|
|
/* USER CODE END DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQn 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles ADC1, COMP1,COMP2, COMP3 Interrupts (combined with EXTI 17 & 18).
|
|
*/
|
|
void ADC1_COMP_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN ADC1_COMP_IRQn 0 */
|
|
|
|
/* USER CODE END ADC1_COMP_IRQn 0 */
|
|
HAL_ADC_IRQHandler(&hadc1);
|
|
/* USER CODE BEGIN ADC1_COMP_IRQn 1 */
|
|
|
|
/* USER CODE END ADC1_COMP_IRQn 1 */
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles USART3, USART4, USART5, USART6, LPUART1 globlal Interrupts (combined with EXTI 28).
|
|
*/
|
|
void USART3_4_5_6_LPUART1_IRQHandler(void)
|
|
{
|
|
/* USER CODE BEGIN USART3_4_5_6_LPUART1_IRQn 0 */
|
|
|
|
/* USER CODE END USART3_4_5_6_LPUART1_IRQn 0 */
|
|
|
|
TRACER_EMB_IRQHandlerUSART();
|
|
/* USER CODE BEGIN USART3_4_5_6_LPUART1_IRQn 1 */
|
|
|
|
/* USER CODE END USART3_4_5_6_LPUART1_IRQn 1 */
|
|
}
|
|
|
|
/* USER CODE BEGIN 1 */
|
|
|
|
/* USER CODE END 1 */
|
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|