⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int.c

📁 一个基于ARM9的操作系统, 实现了很多的功能,包括内存管理,进程创建等
💻 C
字号:
/*
* file:
*       int.c
* description:
*       interrupt controller code.
*/

void int_ctrl_init(void)
{
    rINTCON = 0x04;
    rINTMOD = 0x00;
    rINTMSK = 0x03ffffff;
    rEXTINTPND = 0x0f;
    rI_ISPC = 0x03ffffff;
}


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 &= ~(BIT_GLOBAL|(0x01<<irq));
    else
        rINTMSK |= (0x01<<irq);
}


void int_ctrl_clear_status(int irq)
{
}


void int_ctrl_clear_irq(int irq)
{
#if 0
    if(irq == 21) /* BIT_EINT4567 */
        rEXTINTPND = rEXTINTPND;
#endif

    rI_ISPC = (0x01<<irq);
}


/* end of file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -