STM32中assert_param的使用(转)
来源:互联网 发布:网络区域推广方法 编辑:程序博客网 时间:2024/05/24 04:05
所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个assert_param()可以在运行的程序调用到这个函数时报告错误,使程序员可以及时发现错误,而不必等到程序运行结果的错误而大费周折。这是一种常见的软件技术,可以在调试阶段帮助程序员快速地排除那些明显的错误。它确实在程序的运行上牺牲了效率(但只是在调试阶段),但在项目的开发上却帮助你提高了效率。
当你的项目开发成功,使用release模式编译之后,或在stm32f10x_conf.h文件中注释掉对USE_FULL_ASSERT的宏定义,所有的assert_param()检验都消失了,不会影响最终程序的运行效率。在执行assert_param()的检验时,如果发现参数出错,它会调用函数assert_failed()向程序员报告错误,在任何一个例程中的main.c中都有这个函数的模板,如下:
void assert_failed(uint8_t* file, uint32_t line){ while (1) { }}
你可以按照自己使用的环境需求,添加适当的语句输出错误的信息提示,或修改这个函数做出适当的错误处理。
1、STM32F10xD.LIB是DEBUG模式的库库文件。
2、STM32F10xR.LIB是Release模式的库库文件。
3、要选择DEBUG和RELEASE模式,需要修改stm32f10x_conf.h的内容。#define DEBUG 表示DEBUG模式,把该语句注释掉,则为RELEASE模式。
4、要选择DEBUG和RELEASE模式,也可以在Options,C/C++,Define里填入DEBUG的预定义。这样,就不需要修改stm32f10x_conf.h的内容。
5、如果把库加入项目,则不需要将ST的库源文件加入项目,比较方便。但是,库的选择要和DEBUG预定义对应。
来源:http://blog.sina.com.cn/s/blog_616fb0880100jkqn.html
- STM32中assert_param的使用(转)
- STM32中assert_param的使用(转)
- STM32中assert_param的使用(转)
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- STM32中assert_param的使用
- 我的vim配置
- 制作DEB包的方法
- 将SQLserver 里面的数据生成insert语句,
- 网站用户体验76条原则
- MySql 弹出“data too long for column 'xxx' at row 1"解决方法
- STM32中assert_param的使用(转)
- C++:CString、TCHAR、WCHAR 字符串等转BSTR的几种方法。
- java的四种访问控制级别对于成员的可见性的整理
- JSP自定义标签
- Chat_5
- 百度云bae安装discuz论坛教程
- 【C#利用后台动态加载数据】Winform“防界面卡死”
- SSIS 组件使用 Foreach Loop Container and Execute SQL Task
- ubuntu下安装Apache+PHP+Mysql