刚学S3C44B0的中断,想编一个简单的测试程序,怎么搞都进步了中断,希望高手能帮帮忙啊,头都大了。以下是程序: #include "44b.h" #include "44blib.h" #include "def.h" #include "option.h"
// 若外部中断,即输出“Interrupt”
void __irq eint(void) {
Uart_Printf("Interrupt
"); rEXTINTPND = 0xf; rI_ISPC |= BIT_EINT4567; }
// 中断初始化
void init_int(void) { rI_ISPC = 0x07ffffff; // 清所有中断 rEXTINTPND = 0xf; rINTMOD = 0x0; rINTCON = 0x1; rINTMSK = ~(BIT_GLOBAL|BIT_EINT4567); pISR_EINT4567 = (int)eint; rPCONG = 0xffff; // G口配置 rPUPG = 0x0; rEXTINT = 0x22220020;
rI_ISPC |= BIT_EINT4567; // 清外部中断4567 rEXTINTPND = 0xf;
}
int main() { rSYSCFG = CACHECFG; Uart_Init(MCLK,115200); Uart_Select(0); init_int(); while(1); }
不知道以上的程序哪里出问题了,引导程序用的是三星提供的44binit.s,中断向量表应该已经配置好了,程序总是跑飞了,郁闷。。。。。。 |