当前位置: 首页 > news >正文

【STM32笔记】:P04 断言的使用

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 */

在 ST 标准库的函数中,一般会包含输入参数检查,即上述代码中的“assert_param”宏,当参数不符合要求时,会调用“assert_failed”函数,这个函数默认是空的。实际开发中使用断言时,先通过定义 USE_FULL_ASSERT 宏来使能断言,然后定义“assert_failed”函数,通常我们会让它调用 printf 函数输出错误说明。使能断言后,程序运行时会检查函数的输入参数,当软件经过测试,可发布时,会取消 USE_FULL_ASSERT 宏来去掉断言功能,使程序全速运行。

http://www.dtcms.com/a/504400.html

相关文章:

  • 阿里巴巴建网站龙华网站建设专业公司
  • 新手学wordpress优化落实防控措施
  • 基于彩色线图像增强和改进型YOLOv7模型的海洋水产养殖生物体检测
  • 网站可以免费建立吗网络游戏企业不得向提供游戏服务
  • codetop高频(3)
  • 兰州网络推广关键词优化网站营销seo
  • 开发大型网站的流程wordpress自定义搜索
  • 站长 网站ip怒江商城网站建设
  • 商丘网站建设专业现状wordpress网页版入口
  • QDarkStyleSheet: 一个Qt应用的暗色主题解决方案
  • 各种网站app长沙人才市场招聘
  • 从零开始的C++学习生活 10:继承和多态
  • 记事本怎么做网站一人办厂千元投资
  • Java代码之gradle(1)
  • 卖印花图案设计网站网站建设实验小结
  • 织梦网站如何做seowordpress类
  • C# 数据加载专题 之泛型序列化
  • 帮网站做代理青岛网页设计 学校
  • 【2026计算机毕业设计】基于Springboot的校园电动车短租平台
  • Java基础语法—输入输出
  • 南京网站建设培训wordpress免费下主题Modown
  • 临时邮箱系统实战:解决AI网站注册验证难题的技术方案
  • K8s 安全机制全解析
  • 备案的网站名称湖南众诚建设 官方网站
  • 从0死磕全栈之使用 VS Code 调试 Next.js 应用完整指南
  • 换空间对网站排名的影响吗信息技术做网站
  • 做网站赚钱流程松江集团网站建设
  • NVIDIA大模型推理框架:TensorRT-LLM软件流程(一)
  • Altium Designer(AD24)Design设计功能总结
  • html 网站源码 卖手机推广网络怎么做