×
嵌入式 > 技术百科 > 详情

stm8s的assert_param()的说明

发布时间:2021-06-24 发布时间:
|

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

void TIM1_TimeBaseInit(u16 TIM1_Prescaler,
TIM1_CounterMode_TypeDef TIM1_CounterMode,
u16 TIM1_Period,
u8 TIM1_RepetitionCounter)
{
/* Check parameters */
assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));
......
}


答:
这是断言,可以删掉,只在编译的时候防止一些寄存器的非法值。
判断输入参数是否合法(就是预期中的那些值),编译时可以用来发现设置的值是否正确。


程序运行时一般是没有用的。
当然测试时可以在里面自己添加串口输出程序,在PC上超级终端可以查看是否出现参数错误的情况……


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil5(MDK5)在调试(debug)过程中遇到的问题