首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

【求助】关于输入捕捉

【求助】关于输入捕捉

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

我的程序如下
输入捕捉初始化:
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
}
其中被格掉的即为实时中断的初始化,我一旦加上之后,输入捕捉就不工作了
怎么回事啊 ?
程小科
你试一下先清中断标志怎么样?
飞思卡尔带我走进神奇的单片机世界
返回列表