STM32的库V3.3.0的tim.c中的函数是否有BUG

louis920_2001   2011-2-14 11:45 楼主
* @file    stm32f10x_tim.c
  * @author  MCD Application Team
  * @version V3.3.0
  * @date    04/16/2010
  * @brief   This file provides all the TIM firmware functions.

1.
void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)
{  
     
  /* Clear the flags */
  TIMx->SR = (uint16_t)~TIM_FLAG;
}
使用时会修改其它的标志位.
是否应该改为
void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)
{  
     
  /* Clear the flags */
  TIMx->SR &= (uint16_t)~TIM_FLAG;
}

2.这个函数也有同样的问题.

void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)
{
    /* Clear the IT pending Bit */
  TIMx->SR = (uint16_t)~TIM_IT;
}

回复评论 (3)

                                 rc w0, 写0清,写1不清
点赞  2011-2-14 11:59
                                 LZ说说为什么使用时会修改其它的标志位?
点赞  2011-2-14 14:13
                                 LZ应该是没有仔细看User Manual
点赞  2011-2-17 17:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复