在STM32的固件库和提供的例程中,经常可以看到assert_param函数的身影,实际上assert_param是一个宏定义;
在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。
例如:
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
这句语句是位于gpio.c文件里的GPIO_ReadInputDataBit
数中,其中assert_param的传入参数是一个宏:
宏定义的功能是参数GPIOx是GPIOA~GPIOK其中的一个,表示参数GPIOx有效,返回true,否则返回false。
关于assert_param更多用处,可参考https://www.cnblogs.com/leo0621/p/9435794.html