#include "stm32irq.h" #include "gins.h" #include "main.h" #include "stm32f4xx_it.h" static stm32_irq_cb_t irqcb[100]; static void callirqcb(stm32irq_type_t type) { if (irqcb[type] != NULL) { irqcb[type](); } } void NMI_Handler(void) { SysMgr_on_NMI_Handler(); while (1) { } } void HardFault_Handler(void) { SysMgr_on_HardFault_Handler(); while (1) { } } void MemManage_Handler(void) { SysMgr_on_MemManage_Handler(); while (1) { } } void BusFault_Handler(void) { SysMgr_on_BusFault_Handler(); while (1) { } } void UsageFault_Handler(void) { SysMgr_on_UsageFault_Handler(); while (1) { } } void DebugMon_Handler(void) {} /*********************************************************************************************************************** * IRQ * ***********************************************************************************************************************/ void DMA1_Stream1_IRQHandler(void) { if (hdma1_stream1_enable) HAL_DMA_IRQHandler(&hdma1_stream1); } void DMA2_Stream2_IRQHandler(void) { if (hdma2_stream2_enable) HAL_DMA_IRQHandler(&hdma2_stream2); } void DMA1_Stream3_IRQHandler(void) { if (hdma1_stream3_enable) HAL_DMA_IRQHandler(&hdma1_stream3); } void CAN1_TX_IRQHandler(void) { if (hcan1_enable) HAL_CAN_IRQHandler(&hcan1); } void CAN1_RX0_IRQHandler(void) { if (hcan1_enable) HAL_CAN_IRQHandler(&hcan1); } void CAN1_RX1_IRQHandler(void) { if (hcan1_enable) HAL_CAN_IRQHandler(&hcan1); } void CAN1_SCE_IRQHandler(void) { if (hcan1_enable) HAL_CAN_IRQHandler(&hcan1); } void TIM1_TRG_COM_TIM11_IRQHandler(void) { if (htim11_enable) HAL_TIM_IRQHandler(&htim11); } void USART1_IRQHandler(void) { if (huart1_enable) HAL_UART_IRQHandler(&huart1); } void TIM6_DAC_IRQHandler(void) { if (htim6_enable) HAL_TIM_IRQHandler(&htim6); } void TIM7_IRQHandler(void) { if (htim7_enable) HAL_TIM_IRQHandler(&htim7); } /*********************************************************************************************************************** * EXT * ***********************************************************************************************************************/ void stm32irq_reg(stm32irq_type_t type, stm32_irq_cb_t cb) { irqcb[type] = cb; }