- UID
- 343571
- 性别
- 男
|
我写的一个简单的输入捕捉的测试程序。但是为什么没有反映诶?
程序如下:
#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void main(void) {
//TSCR1 = 0x80;
TSCR2 = 0x03; //分频系数为8,一次溢出时间为21ms,对应速度为0.1/s
//溢出中断禁止
TIOS = 0x00; //选择为输入捕捉
//TCTL3 = 0xff; //沿选择
TCTL4 = 0x01; //沿选择
//ICSYS = 0x0a; //00001010:两个有效沿之后中断,使能保持寄存器,队列模式
//ICOVW_NOVW0 = 0; //0为允许重写
//DLYCT = 0x01; //延时
//TFLG1 = 0x01; //清中断标志
TIE = 0x01; //中断使能
TSCR1_TEN = 1; //定时器使能
DDRB=0xff;
PORTB=0xf0;
EnableInterrupts;
for(;;){
;
}
}
interrupt void ECT_IC0(void){
TCNT = 0;
TSCR1_TEN = 1; //定时器使能
PORTB=0xff;
TFLG1 = 0x01; //清中断标志
}
interrupt void Int_TimerOverFlow(void) {
//i++;
PORTB = ~PORTB;
TSCR1_TEN = 1; //定时器使能
TFLG2_TOF = 1 ; //清中断标志
}
然后在Prm文件里面配置了
VECTOR ADDRESS 0xFFEE ECT_IC0
//VECTOR ADDRESS 0xFFDE Int_TimerOverFlow
定时器溢出的测试正确,但是对引脚上面的电平变化没有任何的反映!
版主要是有关于输入捕捉的程序的话,能不能给我一个参考。多谢了
|
|