智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1208|回复: 6
打印 上一主题 下一主题

关于K60正交解码的问题。

[复制链接]

5

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
827
威望
435
贡献
214
兑换币
151
注册时间
2012-9-11
在线时间
89 小时
毕业学校
。。
跳转到指定楼层
1#
发表于 2015-6-30 11:48:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的k60 ftm正交解码的初始化函数如下。
void FTM2_QUAD_Init(void)
{
  SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;

  PORTA_PCR10 = PORT_PCR_MUX(6);
  //PORTA_PCR10 |= PORT_PCR_PE_MASK;
  //PORTA_PCR10 |= PORT_PCR_PS_MASK;

  PORTA_PCR11 = PORT_PCR_MUX(6);
  //PORTA_PCR11 |= PORT_PCR_PE_MASK;
  //PORTA_PCR11 |= PORT_PCR_PS_MASK;

  SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK;

  FTM2_MOD = 65535;
  FTM2_CNTIN = 0;

  FTM2_MODE |= FTM_MODE_WPDIS_MASK;

  FTM2_QDCTRL &= ~FTM_QDCTRL_QUADMODE_MASK;

  FTM2_QDCTRL |= FTM_QDCTRL_QUADEN_MASK;
  FTM2_MODE |= FTM_MODE_FTMEN_MASK;

  FTM2_CNT = 0;
  FTM2_SC |= FTM_SC_CLKS(3);
}


PIT定时中断函数如下

void Sys_PIT_Hander(void)//系统时钟PIT中断
{
  Sys.CycFlag = TRUE;  
  Pulse = FTM2_CNT;
  FTM2_CNT = 0;
  Sys_PIT_ClearITPendingBit();//清除中断标志位
}



结果是我把编码器的AB相直接与PA10和PA11口相连,OLED显示Pulse数只有0或者-1,不知道有没有人遇到和我一样的问题,Pulse是int16的。
回复

使用道具 举报

16

主题

427

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4712
威望
2305
贡献
1509
兑换币
1500
注册时间
2014-6-29
在线时间
449 小时
2#
发表于 2015-6-30 12:49:08 | 只看该作者
回复 支持 反对

使用道具 举报

5

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
827
威望
435
贡献
214
兑换币
151
注册时间
2012-9-11
在线时间
89 小时
毕业学校
。。
3#
 楼主| 发表于 2015-6-30 15:04:15 | 只看该作者
好像能用了,把A口换成B口就成功了,但是正转和反转脉冲数不一样,基本上是正转脉冲数是反转脉冲数的2倍
回复 支持 反对

使用道具 举报

14

主题

876

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5811
威望
3006
贡献
1961
兑换币
1991
注册时间
2013-2-28
在线时间
422 小时
4#
发表于 2015-6-30 20:47:05 | 只看该作者
我也跪过,不知道原因
回复 支持 反对

使用道具 举报

14

主题

876

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5811
威望
3006
贡献
1961
兑换币
1991
注册时间
2013-2-28
在线时间
422 小时
5#
发表于 2015-6-30 20:47:28 | 只看该作者
找到原因求解答
回复 支持 反对

使用道具 举报

5

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
827
威望
435
贡献
214
兑换币
151
注册时间
2012-9-11
在线时间
89 小时
毕业学校
。。
6#
 楼主| 发表于 2015-7-1 09:00:12 | 只看该作者

还没找到,就是发现能识别正反转,FTM2_CNT读取后不清零发现正转一圈得到的脉冲数比反转一圈得到的脉冲数多很多,并且正转一圈的脉冲数并不是所谓的4倍关系。
回复 支持 反对

使用道具 举报

14

主题

876

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5811
威望
3006
贡献
1961
兑换币
1991
注册时间
2013-2-28
在线时间
422 小时
7#
发表于 2015-7-1 11:51:54 | 只看该作者
天空的hero 发表于 2015-7-1 09:00
还没找到,就是发现能识别正反转,FTM2_CNT读取后不清零发现正转一圈得到的脉冲数比反转一圈得到的脉冲数 ...

事实上我们也这样试过。。。后来只能换了个片子。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-12 21:02 , Processed in 0.045163 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表