function “assert_param“ declared implicitly
使用STM32标准库警告( warning: #223-D: function "assert_param" declared implicitly)
- 问题
- 原因
- 解决
- 扩展
问题
使用stm32标准库的时候,编译出现大量的(warning: #223-D: function “assert_param” declared implicitly)警告问题。
原因
assert_param
没有被定义。
#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 */#endif /* __STM32F4xx_CONF_H */
我们可以找到assert_param
是被定义在stm32f4xx_conf.h
文件中。
#ifdef USE_STDPERIPH_DRIVER#include "stm32f4xx_conf.h"
#endif /* USE_STDPERIPH_DRIVER */
而stm32f4xx_conf.h
是在stm32xx.h
中用USE_STDPERIPH_DRIVER
包裹住的。追根究底就是定义好这个宏定义即可。
解决
在options -> c/c++ -> define
中增加USE_STDPERIPH_DRIVER
即可解决警告。
扩展
可以从代码中看到在assert_param
定义的地方还可以通过定义USE_FULL_ASSERT
来使能断言功能。如果定义了这个宏定义,程序出现断言的时候可以打印出断言所在的精确位置。
function “assert_param“ declared implicitly相关推荐
- IAR for msp430 MDK中 warning: #223-D: function xxx declared implicitly 解决方法
今天在EINT的范例里添加了一个函数,即eint.c中添加了一个datawrite()的函数,并在主函数main.c中调用,编译便警告 warning: #223-D: function " ...
- keil编程问题 -- main.c(75): warning: #223-D: function “XXX“ declared implicitly
前言 我个人遇到的问题是我在文件的.h文件中定义了相关函数,但是在调用的时候发现给我报了一个警告 main.c(75): warning: #223-D: function "USART ...
- IAR工程编译报错Warning[Pe223]: function “Get_Tempreture“ declared implicitly......
IAR工程编译报错Warning[Pe223]: function "Get_Tempreture" declared implicitly E:\stm32编程文件\编程文件\4 ...
- function XX declared implicitly
stm32 keilMDK出现warning: function XX declared implicitly 原创 2014年08月26日 14:50:47 26281 warning: #223 ...
- keil编译时,提示function “xxx“ declared implicitly错误解决办法
当keil编译时,出现function "USART3_Config" declared implicitly错误,意思是存在隐式申明,也就是在申明头文件或者函数名的时候存在一定的 ...
- function “printf“ declared implicitly
原来的代码是这样的 : void SystemInit(void){ }int main(void){printf("-------------------------");ret ...
- STM32 Keil工程中使用abs函数报警告 warning: #223-D: function abs declared implicitly
在头文件中包含#include <stdlib.h> 和#include在<math.h>即可消除警告.
- warning: #223-D: function “xxx“ declared implicitly
不积小流,无以成江海 文章目录 项目场景 问题描述 原因分析 解决方案 小结 项目场景 成品项目迭代: 移植另一方案触摸IC,文件导入后输出警告信息 问题描述 应用层调用触摸处理函数,编译输出该错误警 ...
- Keil警告warning: #223-D: function “memcpy” declared implicitly
使用memcpy()函数编译后出现警告: 解决方案: 在.h文件中加上头文件: #include "string.h"
最新文章
- kafka高可用(集群)
- Traffic Flow Forecasting: Comparison of Modeling Approaches文献阅读笔记(一)
- 国内SAP从业者们2020年最想学习的SAP相关知识分类的调查问卷结果
- 轴承新旧型号对照表_精密机床主轴轴承,高端轴承进口清关报关流程
- Spring Boot 集成 Druid 监控数据源
- java bip-39_Java中对XML的解析详解
- java see 方法_Java 反射常用方法
- Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值
- Procrustes Analysis(普氏分析)
- python 反弹shell,加了UDP
- 王庆的边缘计算(第一章)
- cad修改快捷键_CAD自定义修改快捷键
- 【Web】CSS(No.21)Css经典案例(三)《爱宠知识》
- JAVA博雅楼自习室预约系统计算机毕业设计Mybatis+系统+数据库+调试部署
- matlab升幂降幂排列,升幂排列与降幂排列测试题及答案
- 迷你播放器--第一阶段(6)--添加搜索定位功能(进阶)-使用filter过滤以及对汉语拼音的排序匹配
- 分享一个横向打印二叉树图形的方法
- JAVA程序设计基础期末复习资料
- java.security.egd 作用
- tplink WR740N v4 WR941N v6 安装openwrt