智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3479|回复: 5
打印 上一主题 下一主题

k60 ftm测量周期

[复制链接]

2

主题

9

帖子

0

精华

注册会员

Rank: 2

积分
179
威望
133
贡献
30
兑换币
0
注册时间
2012-8-23
在线时间
8 小时
跳转到指定楼层
1#
发表于 2012-8-30 19:03:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10贡献
大家测量周期都是怎么干的啊 我想用ftm来测量 第一个上升沿来的时候进中断  记录计数器的值  然后第二个上升沿来的时候再进中断 记录计数器的值  然后做减法  但是感觉不对啊  每次相减的结果不一样啊   下面的是我的程序
void FTM_Input_init(void)
{
   
     SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;                           //使能FTM1时钟
           
     SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;
     
     PORTA_PCR9 = PORT_PCR_MUX(0x3);       //通PTA9 通道01

    /******************* 设置为输入捕捉功能 *******************/  
      //设置通道1,工作在上升沿捕获模式
         FTM1_C1SC &=~ FTM_CnSC_ELSA_MASK;//ELSA=0,捕获下降沿
         FTM1_C1SC |=FTM_CnSC_ELSB_MASK; //ELSB=1
         FTM1_C1SC  &= ~ FTM_CnSC_MSB_MASK;//MSB=0
         FTM1_C1SC  &= ~ FTM_CnSC_MSA_MASK;//MSA=0
         FTM1_C1SC |= FTM_CnSC_CHIE_MASK;  //通道中断使能
                 
    //FTM1_SC|=FTM_SC_PS(2);
   
    FTM1_SC |= FTM_SC_CLKS(0x1);       //System clock
    FTM1_MODE |= FTM_MODE_WPDIS_MASK;  //去写保护
    FTM1_SC&=~FTM_SC_CPWMS_MASK;       //CPWMS=0
    FTM1_COMBINE = 0;
   FTM1_MODE &= ~FTM_MODE_FTMEN_MASK; //FTM禁止
   
    //FTM1_MODE |= FTM_MODE_FTMEN_MASK; //使能FTM1
    FTM1_COMBINE&=~FTM_COMBINE_DECAPEN1_MASK;//DECAPEN0=0
//    FTM1_COMBINE|=FTM_COMBINE_DECAP0_MASK;//DECAP0=1
    FTM1_CNTIN = 0;
//    FTM1_MOD=0;
    FTM1_STATUS = 0x00;               //清中断标志位
   
    //开启输入捕捉中断
    enable_irq(63);  //开FTM1中断
}
下面是中断函数
void FTM1_IRQHandler()
{
//    uint8 s = FTM1_STATUS;             //读取捕捉和比较状态  All CHnF bits can be checked using only one read of STATUS.
//    uint8 CHn;
    FTM1_STATUS = 0x00;             //清中断标志位

   Count_irq++;
   if(Count_irq==1)
   {
    FTM1_C1SC &= ~FTM_CnSC_CHIE_MASK;  //禁止通道中断
    a=FTM1_C1V;
    FTM1_C1SC |= FTM_CnSC_CHIE_MASK;  //开启通道中断
     
   }
     
   if(Count_irq==2)
   {
      FTM1_C1SC &= ~FTM_CnSC_CHIE_MASK;  //禁止通道中断
      b=FTM1_C1V;
      Count_irq=0;
      FTM1_C1SC |= FTM_CnSC_CHIE_MASK;  //开启通道中断
   }
   
   
  
}

1

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
417
威望
247
贡献
134
兑换币
90
注册时间
2012-8-22
在线时间
18 小时
毕业学校
2#
发表于 2012-8-31 11:16:02 | 只看该作者
友情帮顶!
我最近也在做一个用FTM计算脉冲个数个脉冲宽度的,但是也还没头绪。
回复

使用道具 举报

2

主题

9

帖子

0

精华

注册会员

Rank: 2

积分
179
威望
133
贡献
30
兑换币
0
注册时间
2012-8-23
在线时间
8 小时
3#
 楼主| 发表于 2012-8-31 16:30:53 | 只看该作者
BlackFire531 发表于 2012-8-31 11:16
友情帮顶!
我最近也在做一个用FTM计算脉冲个数个脉冲宽度的,但是也还没头绪。

脉冲个数的容易  有例程的 可是脉冲宽度需要自己写程序啊  我配置五天了  还没解决  不过原理都看懂了 程序一直搞不对 加我qq469124598一起学习
回复

使用道具 举报

6

主题

35

帖子

0

精华

高级会员

Rank: 4

积分
843
威望
441
贡献
240
兑换币
218
注册时间
2012-10-11
在线时间
81 小时
4#
发表于 2013-8-28 21:21:46 | 只看该作者
永久 发表于 2012-8-31 16:30
脉冲个数的容易  有例程的 可是脉冲宽度需要自己写程序啊  我配置五天了  还没解决  不过原理都看懂了 程 ...

少年,你这个问题解决没,我最近在弄,老是不对,指导一下嘛
回复

使用道具 举报

0

主题

20

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1569
威望
782
贡献
457
兑换币
459
注册时间
2013-1-4
在线时间
165 小时
毕业学校
淮南二中
5#
发表于 2013-9-3 11:23:51 | 只看该作者
对啊   我最近也遇到相同的问题  有没有大神帮解决一下啊
回复

使用道具 举报

0

主题

57

帖子

0

精华

高级会员

Rank: 4

积分
506
威望
258
贡献
146
兑换币
178
注册时间
2013-1-17
在线时间
51 小时
毕业学校
山东轻工业学院
6#
发表于 2013-10-6 14:47:44 | 只看该作者
我也是相同的问题,不知道各位的问题解决了吗
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 09:30 , Processed in 0.088533 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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