2025-07-25 21:27:22 +08:00

70 lines
2.2 KiB
C

#ifndef __INTERRUPT_H__
#define __INTERRUPT_H__
/* **********NVIC中断向量控制器组别********** */
#define NVIC_GROUP_LEVEL NVIC_PriorityGroup_2
/* **********END********** */
/* Control System Interrupt Sw */
#define DISABLE_INTERRUPT __set_PRIMASK(1);
#define ENABLE_INTERRUPT __set_PRIMASK(0);
#define INTERRUPT_NUM 300 //System Interrupt Num
#ifdef INTERRUPT_NUM
/* INTERRUPT_DESC_ST STRUCT */
typedef struct
{
void(*CallBack)(unsigned int); //回调函数
unsigned int IntId; //触发中断的外设id
} INTERRUPT_DESC_ST;
/* INTERRUPT_ST STRUCT */
typedef struct
{
INTERRUPT_DESC_ST Adc_1_2;
INTERRUPT_DESC_ST Usb_Hp_Can1_Tx;
INTERRUPT_DESC_ST Usb_Hp_Can1_Rx0;
INTERRUPT_DESC_ST Can1_Rx1;
INTERRUPT_DESC_ST Can1_Sce;
INTERRUPT_DESC_ST Exti_9_5;
INTERRUPT_DESC_ST Tim_1_Brk;
INTERRUPT_DESC_ST Tim_1_Up;
INTERRUPT_DESC_ST Tim_1_Trg_Com;
INTERRUPT_DESC_ST Tim_1_Cc;
INTERRUPT_DESC_ST Tim_2;
INTERRUPT_DESC_ST Tim_3;
INTERRUPT_DESC_ST Tim_4;
INTERRUPT_DESC_ST I2c_1_Ev;
INTERRUPT_DESC_ST I2c_1_ER;
INTERRUPT_DESC_ST I2c_2_Ev;
INTERRUPT_DESC_ST I2c_2_ER;
INTERRUPT_DESC_ST Spi_1;
INTERRUPT_DESC_ST Spi_2;
INTERRUPT_DESC_ST Usart1;
INTERRUPT_DESC_ST Usart2;
INTERRUPT_DESC_ST Usart3;
INTERRUPT_DESC_ST Exti_15_10;
INTERRUPT_DESC_ST Rtc_Alarm;
INTERRUPT_DESC_ST Usb_WackUp;
INTERRUPT_DESC_ST Tim_8_Brk;
INTERRUPT_DESC_ST Tim_8_Up;
INTERRUPT_DESC_ST Tim_8_Trg_Com;
INTERRUPT_DESC_ST Tim_8_Cc;
INTERRUPT_DESC_ST Adc_3;
INTERRUPT_DESC_ST Fsmc;
INTERRUPT_DESC_ST Sdio;
INTERRUPT_DESC_ST Tim_5;
INTERRUPT_DESC_ST Spi_3;
INTERRUPT_DESC_ST Uart4;
INTERRUPT_DESC_ST Uart5;
INTERRUPT_DESC_ST Tim_6;
INTERRUPT_DESC_ST Tim_7;
INTERRUPT_DESC_ST Dma_2_Chnl_1;
INTERRUPT_DESC_ST Dma_2_Chnl_2;
INTERRUPT_DESC_ST Dma_2_Chnl_3;
INTERRUPT_DESC_ST Dma_2_Chnl_4;
} INTERRUPT_ST, *INTERRUPT_ST_PTR;
#endif
#endif