智能车制作

标题: 用PA累加器和定时器写的测速程序那位大侠有吗?能分享下吗? [打印本页]

作者: 草原    时间: 2010-5-12 12:02
标题: 用PA累加器和定时器写的测速程序那位大侠有吗?能分享下吗?
用PA累加器和定时器写的测速程序那位大侠有吗?能分享下吗?路见不平,拔刀相助,呵呵~~是吧?  
小弟也写了PA累加器的程序,就是测不出来频率,郁闷那!
void PAInit()    //  PA
{
   
  PACTL=0x50;
  TCTL3=0x80;  
IOS=0x00;
PACNT=0;   
  
}

那位仁兄帮看看啊,多谢!!!
作者: 草原    时间: 2010-5-30 22:32
大方的仁兄回复下啊
作者: cat888    时间: 2010-5-31 08:03
本帖最后由 cat888 于 2010-5-31 08:05 编辑

这是我的初始化代码:
  1. void PAInit(void)
  2. {
  3.     DisableInterrupts;    //禁止中断   
  4.    
  5.     TSCR1_TFFCA=1;    //快速清除flag:PAOVF PAIF
  6.    
  7. /*                DATASHEET P472
  8. *           To operate the 16-bit pulse accumulator independently of input capture or output compare 7 and 0
  9. *                respectively the user must set the corresponding bits IOSx = 1, OMx = 0 and OLx = 0. OC7M7 in the
  10. *                OC7M register must also be cleared.
  11. */
  12.     TIOS_IOS7=1;                   //单独使用16位脉冲累加器
  13.     OC7M_OC7M7=0;;             //注意此时必须令IOS7=1,OC7M7=0,OM7=0,OL7=0
  14.     TCTL1_OM7=0;
  15.     TCTL1_OL7=0;
  16.    
  17.     PACTL_PAMOD=0;               //事件计数方式
  18.     //PACTL_PEDGE=1;             //PT7引脚上的出现上升沿时脉冲累加器计数器加1
  19.     //PACTL_PAOVI=1;             //允许脉冲累加器产生溢出时引发中断
  20.     //PACTL_PAI=1;                //允许PT7引脚上出现上升沿时引发中断
  21.     PACTL_PAEN=1;                //启动脉冲累加器A
  22.     PACNT  =  0x0000;
  23.      
  24. }
复制代码

作者: 静之音    时间: 2010-6-7 10:07
为啥是TIOS_IOS7=1呀???这个不是输出比较吗??
作者: 草原    时间: 2010-6-25 09:25
非常感谢!
作者: 素情王子    时间: 2010-6-27 13:29

作者: 范莹    时间: 2011-3-16 15:07

作者: yl_dc    时间: 2011-4-6 20:34
回复 4# 静之音


    同意该说法!应该是0吧,0才捕捉输入的。。。




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