[STM32F1] 定时器输入捕获

[复制链接]
 楼主| yxazxw 发表于 2016-2-19 16:58 | 显示全部楼层 |阅读模式
为什么我设置的是通道4的上升沿捕获中断,但是现在却是按照定时器的计数频率进中断呢?我感觉是我的通道4采集的是定时器自己的计时的上升沿脉冲,这是怎么一回事啊?
  1.    
  2.    //定时器计时
  3.         TIM_ClearITPendingBit(TIM2, TIM_IT_Update);           //清空中断
  4.         TIM_TimeBaseStructure.TIM_Period = Period;        //装初值 ,范围 0--0xffff
  5.         TIM_TimeBaseStructure.TIM_Prescaler = Prescaler;         //预分频值        72M/72,1uS一次计数
  6.         TIM_TimeBaseStructure.TIM_ClockDivision = 0;         //时钟分割值
  7.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;         //向上计数模式           0->2000
  8.         TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);        //结构体初始化

  9.    //输入捕获
  10.         TIM_ICInitStructure.TIM_Channel = TIM_Channel_4;                     //通道4 ,如果设置直接映射就是TI1
  11.         TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;  //捕获上升沿有效
  12.         TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;//对应的中断映射  IC2映射到TI2上
  13.         TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;                 //不分频          TI4是TIMx_CH4,因为是直连模式
  14.         TIM_ICInitStructure.TIM_ICFilter = 0x0;                                                 //不滤波
  15.         TIM_ICStructInit(&TIM_ICInitStructure);
  16.        
  17. //        TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Trigger);                          //计数器在触发(TRGI)的上升沿开始
  18. //        TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);  //启动定时器的被动触发
  19.        
  20.         TIM_ITConfig(TIM2, TIM_IT_CC4 , ENABLE);         //使能输入捕获通道4的中断
  21.         TIM_Cmd(TIM2, ENABLE);          //使能定时器2
  22. }

  23. void TIM2_IRQHandler(void)                   //B码每个码元10ms左右
  24. {
  25.         if(TIM_GetITStatus(TIM2,TIM_IT_CC4)!=RESET)
  26.         {
  27.                 TIM_ClearITPendingBit(TIM2, TIM_IT_CC4);
  28.                 printf("TIM: %d 测试捕获\n",TIM_GetCapture4(TIM2));
  29.         }
  30. }
 楼主| yxazxw 发表于 2016-2-19 16:58 | 显示全部楼层
顶顶顶
Roderman_z 发表于 2016-2-19 17:06 | 显示全部楼层
定时器现在能工作吗?
 楼主| yxazxw 发表于 2016-2-19 23:28 | 显示全部楼层
Roderman_z 发表于 2016-2-19 17:06
定时器现在能工作吗?

不好意思,晚上有事情刚刚看到,现在定时器能工作就是总是进中断,而且我清bo'u捕获的中断标志才能退出中断,我都不明白,输入捕获的输入引脚我是悬空的就是没有上升沿,应该不进中断才对啊,为什么现在总是随着计时器的上升沿进中断呢好像。大神,请教了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部