int_vec_handler.c

来自「ch7013驱动」· C语言 代码 · 共 73 行

C
73
字号
/*************************************************************************************
*	Copyright (c) 2005 by National ASIC System Engineering Research Center.
*	PROPRIETARY RIGHTS of ASIC are involved in the subject matter of this 
*	material.  All manufacturing, reproduction, use, and sales rights 
*	pertaining to this subject matter are governed by the license agreement.
*	The recipient of this software implicitly accepts the terms of the license.
*
*	File Name: int_vec_handler.c
*
*	File Description:
*			The file includes three functions to initialize the lcd controller and
*		display some pictures on the lcd.
*
*
*	Created by Michael <yuyu_zh@seu.edu.cn>, 2005-03-22
**************************************************************************************/
#include <stdio.h>
#include "config.h"
#include "interrupt.h"


INT_VECTOR vector[]={
                    /* interrupt number,    	handler */
                            {   INT_NULL,               NULL        },
                            {   INT_NULL,               NULL        },
                            {   INT_EXT0,               NULL        },
                            {   INT_EXT1,               NULL        },
                            {   INT_EXT2,               NULL        },
                            {   INT_EXT3,               NULL        },
                            {   INT_EXT4,               NULL        },
                            {   INT_EXT5,               NULL        },
                            {   INT_EXT6,               NULL        },
                            {   INT_EXT7,               NULL        },
                            {   INT_EXT8,               NULL        },
                            {   INT_EXT9,               NULL        },
                            {   INT_EXT10,              NULL        },
                            {   INT_EXT11,              NULL        },
                            {   INT_EXT12,              NULL        },
                            {   INT_EXT13,              NULL        },
                            {   INT_EXT14,              NULL        },
                            {   INT_NONE,               NULL        },
                            {   INT_EXT15,              NULL        },
                            {   INT_EXT16,              NULL        },
                            {   INT_EXT17,              NULL        },
                            {   INT_LCD,                NULL        },
                            {   INT_AC97,               NULL        },
                            {   INT_PWM,                NULL        },
                            {   INT_UART1,              NULL        },
                            {   INT_UART0,              NULL        },
                            {   INT_MMC,                NULL        },
                            {   INT_SPI,                NULL        },
                            {   INT_USB,                NULL        },
                            {   INT_GPT,                NULL        },
                            {   INT_EMI,                NULL        },
                            {   INT_DMA,                NULL        },
                            {   INT_RTC,                NULL         },
            };

extern void int_vector_handler(void)
{
    U32    intnum;    
    U8    i = 0;

    intnum = *(RP)(INTC_IFSTAT);
    while(intnum != 0)
    {
        intnum = intnum>>1;
        i++;
    }
    (*vector[i].handler)();

    return;
}

⌨️ 快捷键说明

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