智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

正交解码的用法

[复制链接]

45

主题

254

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2291
威望
1228
贡献
653
兑换币
698
注册时间
2014-1-22
在线时间
205 小时
毕业学校
高中
跳转到指定楼层
1#
发表于 2014-4-12 16:11:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//*****************************************************************************
//  FTM1 编码器1  引脚 PTA 8-9
//*****************************************************************************
void FTM1_QUAD_Int(void)  
{
  
  PORTA_PCR8     =  PORT_PCR_MUX(6);                                            // 设置引脚A10引脚为FTM2_PHA功能  
  PORTA_PCR9     =  PORT_PCR_MUX(6);                                            // 设置引脚A11引脚为FTM2_PHB功能  
  PORT_PCR_REG(PORTA_BASE_PTR, 8) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;      //开弱上拉
  PORT_PCR_REG(PORTA_BASE_PTR, 9) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ;      //开弱上拉
  SIM_SCGC6     |=  SIM_SCGC6_FTM1_MASK;                                        // 使能FTM2时钟  
  FTM1_MODE     |=  FTM_MODE_WPDIS_MASK;                                        // 写保护禁止  
  FTM1_QDCTRL   |=  FTM_QDCTRL_QUADMODE_MASK;                                   // AB相同时确定方向和计数值  
  FTM1_CNTIN     =  0;                                                          // FTM0计数器初始值为0  
  FTM1_MOD       =  65535;                                                      // 结束值  
  FTM1_QDCTRL   |=  FTM_QDCTRL_QUADEN_MASK;                                     // 启用FTM2正交解码模式  
  FTM1_MODE     |=  FTM_MODE_FTMEN_MASK;                                        // FTM2EN=1   
  FTM1_CNT       =  0;  
}  

大家,请问正交解码应该怎么用?
回复

使用道具 举报

45

主题

254

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2291
威望
1228
贡献
653
兑换币
698
注册时间
2014-1-22
在线时间
205 小时
毕业学校
高中
2#
 楼主| 发表于 2014-4-12 16:12:29 | 只看该作者
在线等
回复 支持 反对

使用道具 举报

6

主题

618

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6491
威望
3362
贡献
527
兑换币
2332
注册时间
2013-8-31
在线时间
1301 小时
3#
发表于 2014-4-12 16:45:00 | 只看该作者
        g_nLQD_Value = (int16_t)(FTM1->CNT);
        g_nRQD_Value = (int16_t)(FTM2->CNT);
        FTM1->CNT = 0;
        FTM2->CNT = 0;
回复 支持 反对

使用道具 举报

6

主题

618

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6491
威望
3362
贡献
527
兑换币
2332
注册时间
2013-8-31
在线时间
1301 小时
4#
发表于 2014-4-12 16:45:37 | 只看该作者
读寄存器即可,我当时搞了一天才搞定。。
回复 支持 反对

使用道具 举报

45

主题

254

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2291
威望
1228
贡献
653
兑换币
698
注册时间
2014-1-22
在线时间
205 小时
毕业学校
高中
5#
 楼主| 发表于 2014-4-12 17:02:33 | 只看该作者
应该怎么去读呢?有清零的,现在我读出来的数,0往上加是没问题的,但是反方向的时候,好比减1的时候,就变得了65535,减2就是65534
回复 支持 反对

使用道具 举报

45

主题

254

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2291
威望
1228
贡献
653
兑换币
698
注册时间
2014-1-22
在线时间
205 小时
毕业学校
高中
6#
 楼主| 发表于 2014-4-12 19:30:37 | 只看该作者
可以了,按照3楼的方法,谢谢3楼
回复 支持 反对

使用道具 举报

3

主题

115

帖子

0

精华

金牌会员

电磁六队

Rank: 6Rank: 6

积分
2129
威望
878
贡献
645
兑换币
589
注册时间
2013-11-21
在线时间
303 小时
7#
发表于 2015-2-3 10:51:20 | 只看该作者
恩…看着好像是这样
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 21:18 , Processed in 0.051130 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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