智能车制作

标题: 测速 编程(PTI实时中断) [打印本页]

作者: 开心鬼    时间: 2012-5-24 16:56
标题: 测速 编程(PTI实时中断)
void ect_init(void)  
{         
  TCTL3=0X40;  //PT7捕捉上升沿
  //TCTL3=0X80;  //PT7捕捉下降沿
  TIOS=0X00;   //通道工作为输入捕捉   
}
void InitSpeed(void)  
{  
  PACNT = 0;//脉冲累加器A寄存器清零
  PACTL_PAEN = 1;//使能脉冲累加器A
  PACTL_PAMOD = 0;
  PACTL_PEDGE = 1;//当PAMOD = 0时,对PT7引脚的上升沿计数  
}
void RTI_Init(void)  //实时中断初始化
{   
  CRGINT_RTIE = 1;//1=实时中断使能
  CRGFLG_RTIF = 1;
  PLLCTL_PRE  = 1;//CPU伪停止状态实时中断控制位(1 实时中断允许,0禁止。)
  RTICTL      = 0x5F;//定时16.35ms   60Hz
}

这是测速部分初始化函数,现在关于RTICTL(RTI控制寄存器)不是很明白.
RTR[6:4]是实时中断预分频选择位。
RTR[3:0]是实时中断系数选择位。
就是上面的程序的最后一句 “RTICTL=0X5F;“
也就是RTR[6:4]=101;RTR[3:0]=0000;对应的是2^14,那么它是定时多长时间,这时间怎么算的?


作者: 开心鬼    时间: 2012-5-24 17:00
来人哇……
作者: 开心鬼    时间: 2012-5-24 17:01
自己先顶一下
作者: 开心鬼    时间: 2012-5-24 17:03
F:\工作\个人\My Documents\My Pictures\qq表情\30.gif
作者: tommyliu    时间: 2012-5-25 17:38
你这是哪个芯片啊,是XS128吗??、XS128有这个RTICTL寄存器吗??我一直找不到啊
作者: 开心鬼    时间: 2012-5-25 21:45
tommyliu 发表于 2012-5-25 17:38
你这是哪个芯片啊,是XS128吗??、XS128有这个RTICTL寄存器吗??我一直找不到啊

是xs128,有这个寄存器的啊!资料书上有,但是介绍的不多,看得不太明白。你用的什么芯片?
作者: tommyliu    时间: 2012-5-25 22:09
我也是XS128我买的书上没有,我用的是 MC9S12XS128单片机原理及嵌入式系统开发   这本书没有讲,你用什么资料书啊
作者: 开心鬼    时间: 2012-5-25 23:41
tommyliu 发表于 2012-5-25 22:09
我也是XS128我买的书上没有,我用的是 MC9S12XS128单片机原理及嵌入式系统开发   这本书没有讲,你用什么资 ...

嗯,主编是孙同景吧,机械工业出版社  59页
作者: tommyliu    时间: 2012-5-26 16:04
我今天有做一下测速的,可以用了
作者: 开心鬼    时间: 2012-5-26 22:08
tommyliu 发表于 2012-5-26 16:04
我今天有做一下测速的,可以用了

你那测速实时中断时间怎么设置,怎么算的
作者: tommyliu    时间: 2012-5-26 22:58
有一个公式啊,(PITMTLD0+1)*(PITLD0+1)/总线频率
作者: tommyliu    时间: 2012-5-26 22:58
PITMTLD0=0X12;
PITLD0=0XFFFF;//(0X12+1)*(0XFFFF+1)/64M=20ms  这个是我自己用的




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2