assert_param

本文深入探讨了STM32库函数中assert_param宏的作用及其条件判断机制。当参数有效时,assert_param不执行任何操作;若参数无效,则调用assert_failed函数并输出错误信息,包括错误发生的文件名和行号。

       在STM32的库函数中,好多函数都有"assert_param()"这个断言。这个宏作用是检查输入的参数是否有效,若非有效参数则输出某个警告。

"assert_param"的定义如下:

       当"USE_FULL_ASSERT"这个宏未定义时,assert_param就是一个空的宏,没有任何操作。定义"USE_FULL_ASSERT"时,当参数"expr"为真时,则无操作((void)0);当参数"expr"为假时,则调用函数 assert_failed();但库函数中,只对assert_failed()进行了声明,具体功能并未实现,我们可以根据自己的需求进行封装。assert_failed()函数有两个输入参数,

__FILE__及 __LINE__;分别表示宏被调用时所在的“文件名”及“行号”。例如,我们可以使用printf()输出这些信息。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值