我的板是S3C44B0, 我写了一个定时器中断程序,可是不管怎么样都进不了中断,后来我写了一个和书本上要模一样的程序也不能进中断,这是什么原因?
我自己写的程序如下,希望大家多多指教!
#include"INC/44B.H" #include"INC/OPTION.H" #define uchar unsigned char
unsigned char LED=0; uchar i=0; uchar a=0; uchar c=0;
void __irq Time_Do(void) { uchar asdf; rI_ISPC=BIT_TIMER0;
switch(LED) { case 0: rPDATC=rPDATC&(1<<1);c=1;LED++;break; case 1: rPDATC=rPDATC&(1<<2);c=1;;LED++;break; case 2: rPDATC=rPDATC&(1<<3);c=1;;LED=0;break; default :LED=0;break; } }
void Init(void) { //rPDATC=0X0000; //设置LED为熄灭状态 //rPCONC=0X5555; //LED的设置 i++; pISR_TIMER0=(int)Time_Do; rINTMSK=~(BIT_GLOBAL|BIT_TIMER0); //开中断屏蔽 //rINTCON=0X5; //设置为普通中断 rTCFG0=0x0ff; //分频值 rTCFG1=0X04; //1/32 rTCNTB0=0XFFFF; //设置周期 rTCON=0X02; //首次手动进入 rTCON=0X01; //进行自动装载状态 /*rTCFG0=0xa4;//MLCK/{32*(164+1)}=1.25*1000,预分频值为164 rTCFG1=0X04;//除法器值为32 rTCNTB0=0X04e2;//总定时为0.1S rTCON=0x02; rTCON=0X09;*/ a=3;
}
Main() { Init(); while(1); } 有些变量是后来调试加上去的! |