突破渴望

飞思卡尔定时器初始化步骤

0
阅读(4324)

 飞思卡尔Enhanced Capture Timer Module,称为增强型捕捉定时器模块。

在飞思卡尔内部有 

•一个16位向上带可编程预分频的主计数器.
 
•一个16位的带可编程预分频的模数向下计数器
 
•8个独立的定时器通道,每个通道具备输入捕捉和输出比较功能
 
•4个8位脉冲累加器,也可设置成2个16位脉冲累加器.
 
•通过对寄存器编程可以实现不同的功能
 
如 图所示:
寄存器的结构如图所示:
 
定时器编程用途:产生周期中断
步骤:
•初始化
1.设定预分频系数
2.定时器溢出中断使能
3.定时器使能
•中断函数
1.清标志位
2.用户自己的代码
  
void ECT_Init(void)
{
   TSCR2_PR   = 7;  //prescale factor is 8, bus clock/128=8Mhz/8
   TSCR2_TOI  = 1;  //timer overflow interrupt enable
   TSCR1_TEN  = 1;  //timer enable
}
 
#pragma CODE_SEG NON_BANKED
#pragma TRAP_PROC
void Int_TimerOverFlow(void)
{
   TFLG2_TOF  = 1;  //clear timer overflow flag
   //用户自己的代码
   …………….
}
#pragma CODE_SEG DEFAULT
  
在PRM文件中,加入
VECTOR ADDRESS 0xFFDE Int_TimerOverFlow
 
OK,现在成功了,很棒吧,呵呵