您的位置:首页 > 编程语言

stm32 官方例子main函数最后一段代码#ifdef USE_FULLASSERT

2016-06-30 16:07 411 查看
代码如下:

调试用的。在stm32f10x_conf.h文件中,有如下宏定义

#ifdef  USE_FULL_ASSERT

/**

  * @brief  The assert_param macro is used for function's parameters check.

  * @param  expr: If expr is false, it calls assert_failed function which reports 

  *         the name of the source file and the source line number of the call 

  *         that failed. If expr is true, it returns no value.

  * @retval None

  */

  #define assert_param(expr) ((expr) ? (void)0: assert_failed((uint8_t *)__FILE__, __LINE__))

/* Exported functions ------------------------------------------------------- */

  void assert_failed(uint8_t* file, uint32_t line);

#else

  #define assert_param(expr) ((void)0)

#endif /* USE_FULL_ASSERT */

如果你定义了USE_FULL_ASSERT

就可以在assert_failed,加入:

printf("Wrong parameters value: file %s on line %d\r\n", file, line);

就可以使用assert_param(expr) 来判断当前参数是够正确,如果不正确,就会打印出错的文件,以及出错的行。

这样就可以方面调试信息了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stm32 函数