智能车制作
标题:
XS128单片机中断没有进去,是什么原因呢?求大大神
[打印本页]
作者:
j12y12x12
时间:
2013-11-17 22:21
标题:
XS128单片机中断没有进去,是什么原因呢?求大大神
/*==============================================================================
TIM定时器设置了捕捉中断
==============================================================================*/
void TIMER23_IC_Init(void) //输入捕捉OC23初始化
{
TIOS_IOS2=0; // 设置PT2为输入捕捉
TIOS_IOS3 = 0; // 设置PT3为输入捕捉
TSCR1_TFFCA=0; // FAST FLAG CLEAR 读取即清零
TCTL4_EDG2A=1;
TCTL4_EDG2B=0; // 脉冲计数 (PT2) 上升沿捕捉
TCTL4_EDG3A=1;
TCTL4_EDG3B=0; // 脉冲计数 (PT3) 上升沿捕捉
TIE_C2I = 1; //中断请求允许
TIE_C3I = 1; //中断请求允许
TSCR2_PR2=1; // 计时器预分频 , 从总线bus 128分频
TSCR2_PR1=1;
TSCR2_PR0=1;
TSCR1_TEN=1; // timer enable
}
复制代码
//中断函数
#pragma CODE_SEG __NEAR_SEG NON_BANKED
#pragma TRAP_PROC
void interrupt 11 Int_ico3(void) //ico3 输入捕捉中断按键
//void interrupt 11 TIMER23_IC_Init(void)
{
TFLG1_C3F = 1; //中断的标志位清零
// PITCFLMT ^=(1 << 7);//定时器使能位取反
TimeSec = Time_cnt;
TimeUs = _10Ms_Num;
// PITCFLMT=0X00;
// LCD_Write_Num(70,4,Time_cnt,2);
}
复制代码
//主函数
复制代码
一般就是这些代码了,不知道为什么中断没有进行,
TimeSec,
TimeUs,就没能捕捉到,按键按下数值会停。
我把中断函数注释掉了,按键还是会停,说明中断函数并没有运行,这是为什么呢?
求大大神指教~,
作者:
j12y12x12
时间:
2013-11-17 22:23
void main(void)
{
/* put your own code here */
SetBusCLK_64M(); //主频64M
TIMER23_IC_Init(); //输入捕捉按键
PIT_Init(); //定时器
DDRT = 0xff; //PORTT方向寄存器 输出
LCD_Init(); //LCD初始化
LCD_clear(); //LCD清屏
EnableInterrupts; //中断允许
for(;;)
{
_FEED_COP(); /* feeds the dog */
if(Time_cnt == 60) Time_cnt = 0;
LCD_Write_Num(53,0,Time_cnt,2);
LCD_Write_String(65,0,".");
LCD_Write_Num(70,0,_10Ms_Num,2);//显示变量
LCD_Write_Num(53,1,TimeSec,2); //没有显示出来
LCD_Write_Num(70,1,TimeUs,2); //同上~
} /* loop forever */
/* please make sure that you never leave main */
}
复制代码
主函数怎么没有。。呈上了
作者:
简单丹
时间:
2013-11-18 08:54
配置有问题把
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2