You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

83 lines
2.4 KiB

#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; }