Board logo

标题: 【求助】【急】一个ECT测试程序的结果和预想的不对 [打印本页]

作者: sunsetman    时间: 2007-4-28 12:37     标题: 【求助】【急】一个ECT测试程序的结果和预想的不对

我写的一个关于ect的测试程序,想测试输入捕捉,并想探测到两个有效沿之后在产生中断,但是我的程序写进去的表现并不是我预想的,主要是我给你个脉冲之后就会进入中断,而且用LED显示TC0H的值也是全0。请大虾指教,十分感谢

源程序如下:

void main(void) {

DDRB=0xff;
PORTB = 0x0f;

TSCR1 = 0X80; //计数器使能
TSCR2 = 0X05; //运行模式选择
TIOS = 0X00; //输入捕捉
TCTL4 = 0X01; //沿选择

ICSYS_TFMOD =1;//中断置位模式选择为两次探测之后中断
ICOVW_NOVW0 = 1; //
ICSYS_BUFEN=1;//使能保持寄存器
ICSYS_LATQ=0;//队列模式


DLYCT = 0x02; //ÑÓʱ

EnableInterrupts;

TIE = 0x01; //ÖжÏʹÄÜ


for(;;) {

//if(i==1) {

//i=0;
//PORTB=~(PORTB);
//PORTB = TC0 ;

//}


}
}


interrupt void ECT_IC0(void){

TFLG1 = 0X01; //ÇåÖжϱêÖ¾
//i++;
PORTB=~(PORTB);//进一次中断B口的灯状态变一次
//TSCR1 = 0X80;
//i= TC0H;
//PORTB = i;
}


作者: strongchen    时间: 2007-4-28 14:38

ICSYS是单次写入的寄存器,就是说,它的所有位必须一次性写入,分多次写的话就会出错。
作者: sunsetman    时间: 2007-4-28 16:51

!!!!太感谢你了!!!!!




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