【求助】【急】一个ECT测试程序的结果和预想的不对
- UID
- 343571
- 性别
- 男
|
【求助】【急】一个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;
}
|
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
ICSYS是单次写入的寄存器,就是说,它的所有位必须一次性写入,分多次写的话就会出错。 |
|
|
|
|
|
- UID
- 343571
- 性别
- 男
|
|
|
|
|
|