stm32程序中的assert_param()的说明
子程序都有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));
……
}
答:
这是断言,可以删掉,只在编译的时候防止一些寄存器的非法值。
判断输入参数是否合法(就是预期中的那些值),编译时可以用来发现设置的值是否正确。
程序运行时一般是没有用的。