智能车制作

标题: 求大神帮小妹看看这个脉冲计数器有什么问题? [打印本页]

作者: 黄美纯    时间: 2013-7-5 17:08
标题: 求大神帮小妹看看这个脉冲计数器有什么问题?
初始化:
  1. void GPTPA_Init(void)
  2. {
  3.     MCF_GPT_GPTSCR1 =0;//禁止定时器计数
  4.     MCF_GPIO_PTAPAR |= 0X40;//00000100,配置TA.3引脚为GPT功能
  5.     MCF_GPT_GPTDDR &=~0X08;
  6.     MCF_GPT_GPTIOS = MCF_GPT_GPTIOS_IOS3;//使能GPT3的输出比较功能
  7.     MCF_GPT_GPTSCR1 = MCF_GPT_GPTSCR1_TFFCA;//设置自动清零标志位
  8.     MCF_GPT_GPTCTL1 =0X00;//GPT与输出引脚断开连接
  9.     MCF_GPT_GPTCTL2 =0X00;//禁止输入捕捉功能
  10.     MCF_GPT_GPTPACTL=0;
  11.     MCF_GPT_GPTPACNT=0;//清脉冲累加计数器
  12.     MCF_GPT_GPTPACTL|=MCF_GPT_GPTPACTL_PAE;//使能脉冲累加
  13. }
复制代码
主函数:
  1.   while(1)
  2.   {
  3.     SpeedCount = MCF_GPT_GPTPACNT;
  4.     //MCF_GPT_GPTPACNT = 0;
  5.     if(PreSpeedCount != SpeedCount)
  6.     {
  7.       WriteSpeedCount(SpeedCount);
  8.       PreSpeedCount = SpeedCount;
  9.     }
  10.     DelayMs(10);
  11.   }
复制代码
我是用手去转动后轮,然后把计数器里的数值显示到显示器,但是我发现稍微碰一下后轮,计数器就变成几万。多转几下,计数器数值就不变了,好像用不了的样子。帮我看看初始化有没有问题?

作者: 凌心    时间: 2013-7-5 17:30
硬件上有没有问题呢?
作者: 黄美纯    时间: 2013-7-5 20:31
凌心 发表于 2013-7-5 17:30
硬件上有没有问题呢?

额,我码盘那个出来的脉冲是5V,核心板是3.3,不知道有没有影响

作者: beandy    时间: 2013-7-5 21:12
黄美纯 发表于 2013-7-5 20:31
额,我码盘那个出来的脉冲是5V,核心板是3.3,不知道有没有影响

不知道ColdFire是否兼容5V电平。按照你说的有可能是你的编码器输出的脉冲干扰太大了,你可以用示波器看看  

作者: 黄美纯    时间: 2013-7-5 22:46
beandy 发表于 2013-7-5 21:12
不知道ColdFire是否兼容5V电平。按照你说的有可能是你的编码器输出的脉冲干扰太大了,你可以用示波器看看 ...

嗯,改成3.3的好了。
多谢大神!

作者: ⊙Lin⊙    时间: 2013-7-6 09:41
换成3.3的。




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