- UID
- 343941
- 性别
- 男
|
我移植了UCos到MC9SDP256上,我想用ECT的前四个捕捉功能捕捉脉冲信号,每两次捕捉发生中断一次,程序测试的时候我用信号发生器的方波信号输入到四个捕捉口上,然后观察I/O口上的变化,以判断是否发生了中断,但是我没有发现I/O口的变化 也就是捕捉中断没有发生?大家能帮我看看问题在哪儿吗??谢谢 代码如下
初始化
void IniEct(void)
{
//TIOS
TIOS=0x00; //设定定时器为输入捕捉功能
//TSCR1
//TSCR1_TEN = TSCR1_TEN;
TSCR1_TEN = 1;
TSCR1_TSWAI=0;
TSCR1_TSFRZ=1;
TSCR1_TFFCA=0;
//TCTL4:Capture on rising edges only
TCTL4=0x55;
//TIE
TIE=0x0f; //enable中断
//TSCR2
TSCR2_TOI=0;//disable conter interrupt
TSCR2_TCRE=0;
TSCR2_PR0=1;
TSCR2_PR1=1;
TSCR2_PR2=0;//prescale Factor 8
//DLYCT
DLYCT_DLY0=1;
DLYCT_DLY1=0;
//ICOVW
ICOVW=0x00; //允许覆盖捕捉和保持寄存器
//ICSYS (write are always permitted when test_mode=1)
//ICSYS_LATQ=0;//Queue Mode
//ICSYS_BUFEN=1;
//ICSYS_TFMOD=1;
ICSYS |= 0x0A;
TFLG1=0x0f;
}
这里只贴出了一个中断程序
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt ic1_isr(void) {
TFLG1_C0F=1;
// num[0]++;
//if(count1==0){
// count1=1;
PORTA ^= 0x10;
htc_temp[0]=TC0H_BIT;
tc_temp[0]=TC0_BIT;
// }
}
PRM文件
VECTOR ADDRESS 0xFFEE ic1_isr /* vector 08 */
谢谢 |
|