子程序都有assert_param(….),如下:这句到底有什么用呢???把它删了应该可以的吗??

void TIM1_TimeBaseInit(u16 TIM1_Prescaler,

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
TIM1_CounterMode_TypeDef TIM1_CounterMode,

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
u16 TIM1_Period,

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
u8 TIM1_RepetitionCounter)


 
 
 

 
 

 
 
assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode)); 
 

……

}

答:

这是断言,可以删掉,只在编译的时候防止一些寄存器的非法值。

判断输入参数是否合法(就是预期中的那些值),编译时可以用来发现设置的值是否正确。

程序运行时一般是没有用的。

版权声明:本文为snake-hand原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/snake-hand/archive/2013/06/16/3138720.html