TIM_GetCapture2()与TIM_GetCounter()的区别在哪里?

2019-07-21 05:17发布



u16 TPAD_Get_Val(void)
{
TPAD_Reset();
while(TIM_GetFlagStatus(TIM5, TIM_IT_CC2) == RESET)
{
if(TIM_GetCounter(TIM5)>TPAD_ARR_MAX_VAL-500)return TIM_GetCounter(TIM5);
};
return TIM_GetCapture2(TIM5);
}
为什么把上面的程序改成下面的,程序就不能运行了
u16 TPAD_Get_Val(void)
{      
 TPAD_Reset();
 while(TIM_GetFlagStatus(TIM5, TIM_IT_CC2) == RESET)
 {
  if(TIM_GetCapture2(TIM5)>TPAD_ARR_MAX_VAL-500)
   return TIM_GetCapture2(TIM5);
 }; 
 return TIM_GetCapture2(TIM5);  
}  




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
Admin
2019-07-21 07:37
 这是两个不同的概念哦


uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx)
{
  /* Check the parameters */
  assert_param(IS_TIM_LIST6_PERIPH(TIMx));
  /* Get the Capture 2 Register value */
  return TIMx->CCR2;
}

uint16_t TIM_GetCounter(TIM_TypeDef* TIMx)
{
  /* Check the parameters */
  assert_param(IS_TIM_ALL_PERIPH(TIMx));
  /* Get the Counter Register value */
  return TIMx->CNT;
}





CNT是当前计数器值,,,CCR2是比较值。。

 

一周热门 更多>