智能车制作

标题: 新手··输入捕捉出问题了 [打印本页]

作者: 逍逍遥游    时间: 2013-10-10 21:41
标题: 新手··输入捕捉出问题了
我的思路:让c1口捕捉到b2口发出的上升沿或者下降沿后,点亮小灯
但是为毛小灯一直亮着啊···delay函数我也特地增大周期了··

#include "common.h"
#include "HAL_FTM.h"
#include "HAL_PIT.h"
#include "uart.h"
#include "HAL_GPIO.h"

extern int periph_clk_khz;
extern uint8_t LPLD_FTM0_Divider;
uint32_t Frq1;


void ftm1_isr(void);
void init_gpio(void);
void delay(void);

/********************************************************************/
void main (void)
{

  
  LPLD_FTM0_InputCapture_Init(0, 3, 7, ftm1_isr);
  while(1)
  {
   
     LPLD_GPIO_Init(PTB,2, DIR_OUTPUT, OUTPUT_H, IRQC_DIS);
delay();

     LPLD_GPIO_Init(PTB,2, DIR_OUTPUT, OUTPUT_L, IRQC_DIS);
  delay();

  }
}
/********************************************************************/


void ftm1_isr(void)
{
  //输入捕获边缘检测中断
  if(FTM0_C0SC & FTM_CnSC_CHF_MASK)
  {
   
    //用户自定义代码 开始
   
   LPLD_GPIO_Init(PTB, 11, DIR_OUTPUT, OUTPUT_H, IRQC_DIS);
  LPLD_GPIO_Init(PTB, 17, DIR_OUTPUT, OUTPUT_L, IRQC_DIS);
   
    //用户自定义代码 结束
   
    //清空FTM0 COUNTER
    FTM0_CNT = 0;
    //清除输入中断标志
    FTM0_C0SC &=(~FTM_CnSC_CHF_MASK);
  }
  //输入捕获计数器溢出中断
  else if(FTM0_SC & FTM_SC_TOF_MASK)
  {
   
    //用户自定义代码 开始
   
    //用户自定义代码 结束
     
    //清除计数溢出中断标志
    FTM0_SC &=(~FTM_SC_TOF_MASK);
  }
}
void delay()
{
  unsigned int i, n;
  for(i=0;i<40000;i++)
  {
    for(n=0;n<500;n++)
    {
      asm("nop");
    }
  }
}

作者: 逍逍遥游    时间: 2013-10-10 22:04
:$不好意思,问题已解决···沉了吧
作者: 若苦似甜    时间: 2013-10-10 22:12
求原因
作者: 洋葱圈    时间: 2013-10-11 18:28
若苦似甜 发表于 2013-10-10 22:12
求原因

他的捕捉中断里只初始化了GPIO口,没有反转动作。建议楼主用V3库吧。

作者: 逍逍遥游    时间: 2013-10-12 20:51
洋葱圈 发表于 2013-10-11 18:28
他的捕捉中断里只初始化了GPIO口,没有反转动作。建议楼主用V3库吧。

正在下载中,拉普兰德很给力哈,我们实验室都在用你们的库~~

作者: 洋葱圈    时间: 2013-10-12 21:11
逍逍遥游 发表于 2013-10-12 20:51
正在下载中,拉普兰德很给力哈,我们实验室都在用你们的库~~

祝学习进步





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2