编程中:这个参数提示用的 assert_param());表示什么意思?

2019-07-20 20:55发布

//第一段:assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));

//第二段:
#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) ||
                                       ((GROUP) == NVIC_PriorityGroup_1) ||
                                       ((GROUP) == NVIC_PriorityGroup_2) ||
                                       ((GROUP) == NVIC_PriorityGroup_3) ||
                                       ((GROUP) == NVIC_PriorityGroup_4))


感觉后面最终的第二段就是判断是不是相等,那么就是0和1。那最终的结果会是:assert_param(0或1);

那么assert_param(0)与assert_param(1),在最终替换成: #define assert_param(expr) ((void)0)
这样的话,#define assert_param(expr) ((void)0)究竟有啥意义?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。