📄 hal_interrupt.c
字号:
IRQ_HANDLER_TABLE[INT_EXINT1] = exint1_handler;
break;
case INT_LCDC:
/* Set interrupt level. */
OkiCLib_set32bit(ILC1, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_LCDC] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_LCDC] = lcdc_handler;
break;
case INT_I2C0:
/* Set interrupt level. */
OkiCLib_set32bit(ILC1, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_I2C0] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_I2C0] = i2c0_handler;
break;
case INT_I2C1:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_I2C1] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_I2C1] = i2c1_handler;
break;
case INT_SPI0:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_SPI0] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_SPI0] = spi0_handler;
break;
case INT_FTM0_ART:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM0] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM0] = art0_handler;
break;
case INT_FTM1_ART:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM1] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM1] = art1_handler;
break;
case INT_FTM1_PWM:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM1] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM1] = pwm1_handler;
break;
case INT_FTM0_CAP:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM0] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM0] = cap0_handler;
break;
case INT_FTM3:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM3] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM3] = art3_handler;
break;
case INT_FTM4:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM4] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM4] = art4_handler;
break;
case INT_FTM5:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCA, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_FTM5] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_FTM5] = art5_handler;
break;
case INT_DMAC_A0:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_DMAC_A0] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_DMAC_A0] = dmacCH0_handler;
break;
case INT_DMAC_A1:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_DMAC_A1] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_DMAC_A1] = dmacCH1_handler;
break;
case INT_DMAC_A2:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_DMAC_A2] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_DMAC_A2] = dmacCH2_handler;
break;
case INT_DMAC_A3:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCC, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_DMAC_A3] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_DMAC_A3] = dmacCH3_handler;
break;
#if USB_USED
#if (!USB_PERI_ACTIVE)
case INT_USBhost:
/* Set interrupt level. */
OkiCLib_set32bit(ILC1, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_USBhost] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_USBhost] = usbhost_handler;
break;
#else
case INT_USBdevice:
/* Set interrupt level. */
OkiCLib_set32bit(ILC1, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_USBdevice] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_USBdevice] = usbperi_handler;
break;
case INT_EXINT6:
/* Set interrupt level. */
OkiCLib_set32bit(EXILCB, param->level);
/* Register call back function. */
CALL_BACK_TABLE[INT_EXINT6] = param->callback;
/* Register handler function. */
IRQ_HANDLER_TABLE[INT_EXINT6] = exint6_handler;
break;
#endif
#endif
default :
rtnVal = HAL_PARAM_ERROR;
break;
}
return rtnVal;
}
/************************************************************************/
/* */
/* Function Name : _exint1_handler */
/* Input : void */
/* Output : void */
/* */
/* Note : EXINT1 handler. */
/* */
/************************************************************************/
static void _exint1_handler(void) {
/* Clear exint1 interrupt1. */
OkiCLib_set32bit(EXIRQB, EXIRQB_IRQ34);
CALL_BACK_TABLE[INT_EXINT1](CALLBACK_STATE_NON);
}
/************************************************************************/
/* */
/* Function Name : _exint1_handler */
/* Input : void */
/* Output : void */
/* */
/* Note : FIQ handler. */
/* */
/************************************************************************/
void fiq_handler(void) {
fiq_callback(CALLBACK_STATE_NON);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -