📄 int.c
字号:
/*
* file:
* int.c
* description:
* interrupt controller code.
*/
void int_ctrl_init(void)
{
rINTMOD = 0x00000000;
rINTMSK = 0xffffffff;
rEINTPEND = 0x00fffff0;
rEINTMASK = 0x00000000;
rSUBSRCPND = 0x7ff;
rINTSUBMSK = 0x000;
rSRCPND = 0xffffffff;
rINTPND = 0xffffffff;
}
void int_ctrl_set_mode(int irq, int mode)
{
if(mode)
rINTMOD |= (0x01<<irq);
else
rINTMOD &= ~(0x01<<irq);
}
int int_ctrl_get_mode(int irq)
{
return (rINTMOD & (0x1<<irq)) ? 1 : 0;
}
void int_ctrl_enable_irq(int irq, int enable)
{
if(enable)
rINTMSK &= ~(0x01<<irq);
else
rINTMSK |= (0x01<<irq);
}
void int_ctrl_clear_status(int irq)
{
}
void int_ctrl_clear_irq(int irq)
{
#if 0
if(irq == 4 || irq == 5) /* BIT_EINT4_7, BIT_EINT8_23 */
rEINTPEND = rEINTPEND;
rSUBSRCPND = rSUBSRCPND;
#endif
rSRCPND = (0x01<<irq);
rINTPND = (0x01<<irq);
}
/* end of file */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -