使用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相关推荐

  1. IAR for msp430 MDK中 warning: #223-D: function xxx declared implicitly 解决方法

    今天在EINT的范例里添加了一个函数,即eint.c中添加了一个datawrite()的函数,并在主函数main.c中调用,编译便警告 warning: #223-D: function " ...

  2. keil编程问题 -- main.c(75): warning: #223-D: function “XXX“ declared implicitly

    前言 我个人遇到的问题是我在文件的.h文件中定义了相关函数,但是在调用的时候发现给我报了一个警告  main.c(75): warning:  #223-D: function "USART ...

  3. IAR工程编译报错Warning[Pe223]: function “Get_Tempreture“ declared implicitly......

    IAR工程编译报错Warning[Pe223]: function "Get_Tempreture" declared implicitly E:\stm32编程文件\编程文件\4 ...

  4. function XX declared implicitly

    stm32 keilMDK出现warning: function XX declared implicitly 原创  2014年08月26日 14:50:47 26281 warning: #223 ...

  5. keil编译时,提示function “xxx“ declared implicitly错误解决办法

    当keil编译时,出现function "USART3_Config" declared implicitly错误,意思是存在隐式申明,也就是在申明头文件或者函数名的时候存在一定的 ...

  6. function “printf“ declared implicitly

    原来的代码是这样的 : void SystemInit(void){ }int main(void){printf("-------------------------");ret ...

  7. STM32 Keil工程中使用abs函数报警告 warning: #223-D: function abs declared implicitly

    在头文件中包含#include <stdlib.h> 和#include在<math.h>即可消除警告.

  8. warning: #223-D: function “xxx“ declared implicitly

    不积小流,无以成江海 文章目录 项目场景 问题描述 原因分析 解决方案 小结 项目场景 成品项目迭代: 移植另一方案触摸IC,文件导入后输出警告信息 问题描述 应用层调用触摸处理函数,编译输出该错误警 ...

  9. Keil警告warning: #223-D: function “memcpy” declared implicitly

    使用memcpy()函数编译后出现警告: 解决方案: 在.h文件中加上头文件: #include "string.h"

最新文章

  1. kafka高可用(集群)
  2. Traffic Flow Forecasting: Comparison of Modeling Approaches文献阅读笔记(一)
  3. 国内SAP从业者们2020年最想学习的SAP相关知识分类的调查问卷结果
  4. 轴承新旧型号对照表_精密机床主轴轴承,高端轴承进口清关报关流程
  5. Spring Boot 集成 Druid 监控数据源
  6. java bip-39_Java中对XML的解析详解
  7. java see 方法_Java 反射常用方法
  8. Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值
  9. Procrustes Analysis(普氏分析)
  10. python 反弹shell,加了UDP
  11. 王庆的边缘计算(第一章)
  12. cad修改快捷键_CAD自定义修改快捷键
  13. 【Web】CSS(No.21)Css经典案例(三)《爱宠知识》
  14. JAVA博雅楼自习室预约系统计算机毕业设计Mybatis+系统+数据库+调试部署
  15. matlab升幂降幂排列,升幂排列与降幂排列测试题及答案
  16. 迷你播放器--第一阶段(6)--添加搜索定位功能(进阶)-使用filter过滤以及对汉语拼音的排序匹配
  17. 分享一个横向打印二叉树图形的方法
  18. JAVA程序设计基础期末复习资料
  19. java.security.egd 作用
  20. tplink WR740N v4 WR941N v6 安装openwrt

热门文章

  1. python中的变量命名规则
  2. WINCE6.0 SDK 模拟器下载与安装
  3. 哈希算法--MD5算法
  4. Flink-State
  5. IPv4/IPv6协议分析 实验报告
  6. 南京三本院校计算机类排名,2021南京三本大学有哪些 最新院校名单
  7. SylixOS中的线程【20】--- 线程记事本
  8. div自定义滚动条样式
  9. 简谈BUCK降压电路
  10. android刷内核,完整版刷android内核及定制内核模块攻略