智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 11525|回复: 34
打印 上一主题 下一主题

FTM正交解码的问题

  [复制链接]

41

主题

563

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4616
威望
2165
贡献
1183
兑换币
1355
注册时间
2013-9-6
在线时间
634 小时
毕业学校
山东交通学院
跳转到指定楼层
1#
发表于 2014-2-25 23:04:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这几天用FTM模块测速,每5ms采集一次,进行累加,100ms后清零,通过串口输出的脉冲值很大,后来查看每5ms采集的脉冲都在65535左右,这个是什么原因啊?这是正交解码的程序

void FTM1_QUAD_Iint(void)  
{
  PORTA_PCR8     =  PORT_PCR_MUX(6);                                            // 设置引脚A8引脚为FTM1_PHA功能  
  PORTA_PCR9     =  PORT_PCR_MUX(6);                                            // 设置引脚A9引脚为FTM1_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;                                        // 使能FTM1时钟  
  FTM1_MODE     |=  FTM_MODE_WPDIS_MASK;                                        // 写保护禁止  
  FTM1_QDCTRL   |=  FTM_QDCTRL_QUADMODE_MASK;                                   // AB相同时确定方向和计数值  
  FTM1_CNTIN     =  0;                                                          // FTM1计数器初始值为0  
  FTM1_MOD       =  65535;                                                      // 结束值  
  FTM1_QDCTRL   |=  FTM_QDCTRL_QUADEN_MASK;                                     // 启用FTM1正交解码模式  
  FTM1_MODE     |=  FTM_MODE_FTMEN_MASK;                                        // FTM1EN=1   
  FTM1_CNT       =  0;  
}


相关帖子

回复

使用道具 举报

16

主题

465

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3454
威望
1708
贡献
1098
兑换币
1135
注册时间
2013-6-18
在线时间
324 小时
35#
发表于 2015-4-23 19:33:33 | 只看该作者
动感小麦兜 发表于 2014-3-1 21:45
多谢,我的已经调好了,程序没有问题,只是变量类型弄错了

你好     还在做比赛吗 ??  我也遇到和你一样的问题    请问是哪点的问题啊
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

高级会员

Rank: 4

积分
668
威望
376
贡献
156
兑换币
150
注册时间
2014-11-5
在线时间
68 小时
毕业学校
南华大学
34#
发表于 2015-3-13 22:10:06 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

高级会员

Rank: 4

积分
668
威望
376
贡献
156
兑换币
150
注册时间
2014-11-5
在线时间
68 小时
毕业学校
南华大学
33#
发表于 2015-3-13 22:09:35 | 只看该作者
野火的老库里面有这个正交解码,我怎么没找到呀,能发给我一份吗
回复 支持 反对

使用道具 举报

6

主题

358

帖子

0

精华

常驻嘉宾

一浪拍死一代人

Rank: 8Rank: 8

积分
3105
威望
1598
贡献
999
兑换币
1071
注册时间
2014-4-16
在线时间
254 小时
32#
发表于 2014-12-2 22:12:36 | 只看该作者
。。。。。
回复 支持 反对

使用道具 举报

41

主题

563

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4616
威望
2165
贡献
1183
兑换币
1355
注册时间
2013-9-6
在线时间
634 小时
毕业学校
山东交通学院
31#
 楼主| 发表于 2014-5-17 18:39:34 | 只看该作者
DHTCL 发表于 2014-5-17 16:21
正常情况下应该有正有负是吧?哪个变量类型是s16啊?需要我修改成s16还是已经就是s16了?我的编码器是双向 ...

typedef         short int                                s16;
k60的库里有
回复 支持 反对

使用道具 举报

1

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
威望
131
贡献
48
兑换币
82
注册时间
2014-2-18
在线时间
31 小时
毕业学校
中北大学
30#
发表于 2014-5-17 17:29:32 | 只看该作者
赞。。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
642
威望
376
贡献
142
兑换币
227
注册时间
2013-11-16
在线时间
62 小时
毕业学校
东华大学
29#
发表于 2014-5-17 16:21:46 | 只看该作者
动感小麦兜 发表于 2014-5-17 14:33
用于读取编码器数据的变量定义用s16,可以直接读出正负的,一直是正值,看看是不是编码器的连线或者只有一 ...

正常情况下应该有正有负是吧?哪个变量类型是s16啊?需要我修改成s16还是已经就是s16了?我的编码器是双向的啊
回复 支持 反对

使用道具 举报

41

主题

563

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4616
威望
2165
贡献
1183
兑换币
1355
注册时间
2013-9-6
在线时间
634 小时
毕业学校
山东交通学院
28#
 楼主| 发表于 2014-5-17 14:33:40 | 只看该作者
DHTCL 发表于 2014-5-17 10:16
请问哪个变量有问题啊?怎么修改的啊?我的FTM1_CNT、FTM2_CNT一直都是正值,不知道怎么修改,请大侠指教 ...

用于读取编码器数据的变量定义用s16,可以直接读出正负的,一直是正值,看看是不是编码器的连线或者只有一相
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
642
威望
376
贡献
142
兑换币
227
注册时间
2013-11-16
在线时间
62 小时
毕业学校
东华大学
27#
发表于 2014-5-17 10:16:45 | 只看该作者
动感小麦兜 发表于 2014-3-1 21:45
多谢,我的已经调好了,程序没有问题,只是变量类型弄错了

请问哪个变量有问题啊?怎么修改的啊?我的FTM1_CNT、FTM2_CNT一直都是正值,不知道怎么修改,请大侠指教一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 01:43 , Processed in 0.052465 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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