4515|4

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

香呼叫主,求救信号,有关pwm输入捕获的问题! [复制链接]

我的配置如下,但是我用信号发生器产生信号输入,根本就不进中断,但是我要是直接用导线给输入引脚引入高电平(相当于一个脉冲信号),就可以进中断,下面是我的程序,实在不明白原因!int void  void ICapture_Configuration(void)
{
      TIM_ICInitTypeDef  TIM_ICInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
        // TIM3 clock enable
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);  //使能时钟TIM3,AFIO和引脚已经使能过了
        GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE);        //重映射
      
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;                        //TIM3 CH1  重映射功能
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);

  TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
  TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
  TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
  TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
  TIM_ICInitStructure.TIM_ICFilter = 0x0;

  TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);

  /* Select the TIM3 Input Trigger: TI2FP2 */
  TIM_SelectInputTrigger(TIM3, TIM_TS_TI1FP1);

  /* Select the slave Mode: Reset Mode */
  TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);

  /* Enable the Master/Slave Mode */
  TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);

  /* TIM enable counter */
  TIM_Cmd(TIM3, ENABLE);

  /* Enable the CC2 Interrupt Request */
  TIM_ITConfig(TIM3, TIM_IT_CC2, ENABLE);
}

中断函数:
void TIM3_IRQHandler(void)
{
  /* Clear TIM3 Capture compare interrupt pending bit */
  TIM_ClearITPendingBit(TIM3, TIM_IT_CC2);

  /* Get the Input Capture value */
  IC2Value = TIM_GetCapture2(TIM3);

  if (IC2Value != 0)
  {
    /* Duty cycle computation */
    DutyCycle = (TIM_GetCapture1(TIM3) * 100) / IC2Value;

    /* Frequency computation */
    Frequency = SystemCoreClock / IC2Value;
  }
  else
  {
    DutyCycle = 0;
    Frequency = 0;
  }
}

并且弱弱的问一句TIM_TS_TI1FP1这个出发源是选择捕获通道1的时候就选择这个触发源吗?
此帖出自stm32/stm8论坛

最新回复

PWM输入模式,TIM3如何工作滴,请大侠指教!  详情 回复 发表于 2012-5-19 10:36
点赞 关注
 

回复
举报

91

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 唉,版主睡着了,可能是最近比较累,自己先顶一个
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
哦  解决了!上面的程序是对的,留给大家参考把,但是这句IC2Value = TIM_GetCapture2(TIM3);
和DutyCycle = (TIM_GetCapture1(TIM3) * 100) / IC2Value;
写反了,不能误导大家,最低检测频率是1098Hz,以后会长发帖的!
此帖出自stm32/stm8论坛
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
哦  解决了!上面的程序是对的,留给大家参考把,但是这句IC2Value = TIM_GetCapture2(TIM3);
和DutyCycle = (TIM_GetCapture1(TIM3) * 100) / IC2Value;
写反了,不能误导大家,最低检测频率是1098Hz,以后会长发帖的!
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
PWM输入模式,TIM3如何工作滴,请大侠指教!
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表