Board logo

标题: 【求助】关于输入捕捉 [打印本页]

作者: sunsetman    时间: 2007-6-13 20:55     标题: 【求助】关于输入捕捉

版主你好,我的一个输入捕捉周期的程序有问题,请版主帮忙啊

我的程序如下
输入捕捉初始化:
void Init_IC(void){

TIE = 0x00; //中断禁止
TSCR2 = 0x04; //0x03 分频系数为8,一次溢出时间为21ms,对应速度为0.1/s
//溢出中断禁止
TIOS = 0x00; //选择为输入捕捉
TCTL4 = 0x01; //沿选择
ICSYS = 0x0a; //00001010:两个有效沿之后中断,使能保持寄存器,队列模式
ICOVW_NOVW0 = 0; //0为允许重写
DLYCT = 0x01; //延时
TFLG1 = 0xff; //清中断标志
TIE = 0x01; //中断使能
TSCR1_TEN = 1; //定时器使能

}



中断程序:
interrupt void ECT_IC0(void){

b = TC0H;
a = TC0;
if(TFLG2_TOF == 1 ){
c = 0 ;
TFLG2_TOF = 1 ;
}
else{
c = a-b;
}

PORTB=~PORTB;
TFLG1_C0F = 1; //清中断标志
TCNT = 0;
TSCR1_TEN = 1; //定时器使能
}

这个程序我测试是正确的,但是我一旦启用实时中断的初始化之后,这个程序就不对了,输入捕捉对引脚上的变化没有任何的反应
以下初始化将总线时钟初始化为24M
void Init_CRG(void) {
SYNR=2;
REFDV=1;
while(!(CRGFLG&0x08)); //Set theCoreclk at 48MHZ,BUS at 24MHZ
CLKSEL=0x80;
//CRGINT=0x80; //0x80Enable the Interrupt of RTI
//RTICTL=0x75; //0x75
}
其中被格掉的即为实时中断的初始化,我一旦加上之后,输入捕捉就不工作了
怎么回事啊 ?
作者: yjbmtc    时间: 2007-6-13 22:40

你试一下先清中断标志怎么样?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0