Eagleson[size=4] 日拱一卒,功不唐捐 为者常成,行者常至 [/size] 兰生幽谷,不为莫服而不芳;舟行江海,不为莫乘而不浮;君子行义,不为莫知而止休
获得 236 次赞
帮助过488人
实际这是个调试函数,当你在调试程序时打开DEBUG参数assert_param才起作用。assert_param是反映参数你在调用库函数传递的参数是错误的。assert_param的原型定义在stm32f10x_conf.h 文件里定义如下:#ifdef DEBUG #define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__ __LINE__)) void assert_failed(u8* file u32 line);#else #define assert_param(expr) ((void)0)#endif#endif可以看到assert_param实际在DEBUG打开时就是assert_failed,关闭DEBUG时是空函数assert_failed函数如下#ifdef DEBUGvoid assert_failed(u8* file u32 line){ //用户可以在这里添加错误信息:比如打印出出错的文件名和行号 while (1) { }}#endif