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

posted @ 2013-06-16 13:09  爱生活,爱编程  阅读(281)  评论(0编辑  收藏  举报