智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

野火库 捕捉外部下降沿中断

[复制链接]

3

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
177
威望
105
贡献
40
兑换币
50
注册时间
2015-1-22
在线时间
16 小时
毕业学校
中山大学南方学院
跳转到指定楼层
1#
发表于 2015-2-2 14:16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
外部下降沿中断,将捕捉到的2个下降沿之间的时间计算出来
#include "common.h"
#include "include.h"
#include  "FTM.h"
#include  "PIT.h"
#include "uart.h"
volatile u32 pwmtest=0,a=0; //用来计数

void uart_init (UARTn,u32 baud);  

void main()
{ uart_init (UART1,19200);
  DisableInterrupts; //禁止总中断
  FTM_PWM_init(FTM2,CH0,100,50); //PTA10 100Hz
  pit_init(PIT0,62500); //1ms产生一次中断

  FTM_Input_init(FTM1,CH0,Falling); //初始化FTM输入捕捉模式,下降沿触发

  EnableInterrupts; //开总中断

}
void PIT0_IRQHandler(void)
{
  DisableInterrupts; //禁止总中断
   a++;
  PIT_Flag_Clear(PIT0); //清中断标志位
  EnableInterrupts; //开总中断
}
void FTM1_IRQHandler()
{
  u8 s=FTM1_STATUS; //读取捕捉和比较状态
  // All CHnF bits can be checked using only one read of STATUS.
  u8 CHn;
    FTM1_STATUS=0x00; //清中断标志位
   
    CHn=0;
    if( s & (1<<CHn) )
    {
      FTM_IRQ_DIS(FTM1,CHn); //禁止输入捕捉中断
      /* 用户任务 */
      printf("用时:%d us",a);
      a=0;
     pwmtest++; //计数+1
      if(pwmtest==1) //当捕捉第一次下降沿时
       {
       a=0;
       }
         if(pwmtest==2)//当捕捉第二次次下降沿时
  {
           
  printf("两低电平之间时间为:%d ms",a);
  a=0;
  
  
  }
      /*********************/
       FTM_IRQ_EN(FTM1,CHn); //开启输入捕捉中断
     
    }
    /* 这里添加 n=1 的模版,根据模版来添加 */
   CHn=1;
  if( s & (1<<CHn) )
  {
   FTM_CnSC_REG(FTM1_BASE_PTR,CHn) &= ~FTM_CnSC_CHIE_MASK; //禁止输入捕捉中断
      /* 用户任务 */
      
      
      /*********************/
   }
   
}


算出来的时间是16ms,请问我这代码有什么问题,求大神帮助!!!

回复

使用道具 举报

3

主题

627

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13771
威望
6052
贡献
3551
兑换币
3764
注册时间
2014-8-12
在线时间
2084 小时
毕业学校
w
2#
发表于 2015-2-2 15:15:39 | 只看该作者
用我们新版本的代码吧,有现成的这方面例程,一个ftm模块就搞定,不需要pit
回复

使用道具 举报

3

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
177
威望
105
贡献
40
兑换币
50
注册时间
2015-1-22
在线时间
16 小时
毕业学校
中山大学南方学院
3#
 楼主| 发表于 2015-2-2 15:46:02 | 只看该作者
山外メ雲ジ_VCAN 发表于 2015-2-2 15:15
用我们新版本的代码吧,有现成的这方面例程,一个ftm模块就搞定,不需要pit

山哥!!!队友都用野火!山外的话跟他们不兼容啊!!请问用野火的话要怎么改啊!!!!

回复

使用道具 举报

3

主题

627

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13771
威望
6052
贡献
3551
兑换币
3764
注册时间
2014-8-12
在线时间
2084 小时
毕业学校
w
4#
发表于 2015-2-2 15:53:19 | 只看该作者
Shenmegui 发表于 2015-2-2 15:46
山哥!!!队友都用野火!山外的话跟他们不兼容啊!!请问用野火的话要怎么改啊!!!!

我们就是是原先野火的智能车开发团队啊!现在独立出来而已。
回复

使用道具 举报

21

主题

480

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2331
QQ
威望
1095
贡献
736
兑换币
695
注册时间
2014-10-20
在线时间
250 小时
毕业学校
合肥工业大学
5#
发表于 2015-2-2 17:00:16 | 只看该作者
66666
回复

使用道具 举报

3

主题

12

帖子

0

精华

注册会员

Rank: 2

积分
177
威望
105
贡献
40
兑换币
50
注册时间
2015-1-22
在线时间
16 小时
毕业学校
中山大学南方学院
6#
 楼主| 发表于 2015-2-2 21:18:58 | 只看该作者
山外メ雲ジ_VCAN 发表于 2015-2-2 15:53
我们就是是原先野火的智能车开发团队啊!现在独立出来而已。

我知道呢!!!但是我们组员已经在用野火了!所以不能换了QAQ

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 21:22 , Processed in 0.043717 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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