uVision中新建STM32工程后,需要从STM32标准库中拷贝标准外设驱动到自己的工程目录中,此时需要在工程设置->C/C++选项卡下的Define文本框中键入这两个全局宏定义。

STM32F40_41xxx,USE_STDPERIPH_DRIVER

USE_STDPERIPH_DRIVER

这个说明你在使用标准外设驱动,有自己的外设配置文件,即stm32f10x_conf.h,详细可查看stm32f4xx.h中12026-12017行。关于stm32f4xx_conf.h

文件中的内容,是有选择的#inlude "stm32f4xx_conf.h",这样只编译需要的外设文件,减少hex文件的体积。如果没有使用这个宏,或没有stm32f10x_conf.h文件,那么编译时会有一大堆莫名奇妙地错误,这是因为MDK中也自带了stm32f40x_xxxx.h文件,使得编译器使用MDK中.h文件,而.c文件和.h文件版本是不匹配的。

注意,如果是库文件的错误,那一定是你工程配置有问题。

Use Standard Peripheral Driver
Keil MDK环境中使用STM32固件库建立工程时,可能会遇到编译不通过的问题。出现如下警告或错误提示:
warning:#223-D:function"assert_param"declaredimplicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

这时候我们需要在设置面板的“TargetOpTIons”中“C/C++”选项卡添加STM32F40_41xxx,USE_STDPERIPH_DRIVER。这样才能使编顺利通过。

知其然了,我们还得知其所以然。下面就一一道来。我们知道,程序的执行是从main.c文件开始的,其中必须包含有头文件stm32f4xx.h。打开stm32f4xx.h,查找USE_STDPERIPH_DRIVER,在第12026-12017行找到

#ifdef USE_STDPERIPH_DRIVER #include "stm32f4xx_conf.h"

新建test.c为什么没有.h文件_新建STM32工程全局声明两个宏的原因相关推荐

  1. keil如何添加h文件_【专栏】Keil系列教程

    置顶/星标公众号,不错过每一条重要消息! 本教程由作者strongerHuang原创发布. 版权所有:禁止商用 申明:该文档仅供个人学习使用,转载请公众号联系作者授权. 该系列教程结合MDK-ARM整 ...

  2. keil如何添加h文件_被Keil坑了一天!实在太意外了!用Keil的来瞅瞅看

    在前面的文章和视频里,我一直是以STM32F303VCTx为基础给大家介绍的,项目上也一直用着,没出现任何问题.但是前几天在探索建立基于GNU ARM+Cygwin+VSCODE的免费开发环境的时候, ...

  3. keil如何添加h文件_如何给PDF文件添加水印?分享给PDF批量加水印的方法

    如何给PDF文件添加水印?在处理一些重要的商业文件中,很多人害怕文件内容被抄袭盗用,就会在文件中添加水印,其中包括Word.Excel.PPT.图片.PDF等多种不同的文件.那如果是PDF文件,你知道 ...

  4. keil如何添加h文件_如何给PDF文件添加水印?分享给PDF批量加水印的方法-PDF ——快科技(驱动之家旗下媒体)-...

    如何给PDF文件添加水印?在处理一些重要的商业文件中,很多人害怕文件内容被抄袭盗用,就会在文件中添加水印,其中包括Word.Excel.PPT.图片.PDF等多种不同的文件.那如果是PDF文件,你知道 ...

  5. java log4j 多个文件_为什么log4j会记录到两个单独的文件? [重复]

    这个问题在这里已有答案: 我有以下 log4j.properties 文件,默认的appender和特定类的单独的appender log4j.rootLogger=DEBUG, STDOUT, de ...

  6. cam350 不能打开光绘文件_电子设计工程CAM350光绘工艺的一般流程

    原标题:电子设计工程CAM350光绘工艺的一般流程 Gerber文件的格式:RS-274-X(常用) RS-274-D(常用) RS-274 Fire 9000 Mda 9000 Barco DPF ...

  7. keil5新建STM32工程文件--实践篇手把手教学(以STM32F103为例)

    目录 一.文件与文件夹创建 1.1 CMSIS文件夹创建 1.2 FWLIB文件夹创建 1.3 Project文件夹创建 1.4 startup文件夹创建 1.5 user文件夹创建 1.6 read ...

  8. C语言中.c文件与.h文件 的使用-2020-12-27

    C语言中.c文件与.h文件 的使用 转自(https://blog.csdn.net/qq_35327108/article/details/83656409?utm_medium=distribut ...

  9. C语言.h文件的作用

    转载自此 总结在前面的话: 顶层的函数与变量默认extern修饰(C99内), 非本文件夹内的函数引用加上external修饰:非定义处的变量加上extern修饰(建议这么做,用以区分变量定义与变量引 ...

  10. Keil5----新建项目文件( .c文件 和 .h文件)

    前言 在使用 Keil5 编辑程序的时候,一定需要新建几个文件(.c文件 和 .h文件),在其中编写不同功能的程序. 例如:新建LED.c和LED.h文件,实现LED灯闪烁的功能等. 步骤1:新建文件 ...

最新文章

  1. 【Ant Design Pro 五】箱套路由在菜单栏显示返回上一页
  2. SDK开发日积月累(二)
  3. LibSVM学习(二)——第一次体验libSvm
  4. sql 合并相同条件的字段
  5. MySQL 索引 :哈希索引、B+树索引、最左前缀匹配规则、全文索引
  6. 【自制工具类】Java删除字符串中的元素
  7. 【转载】DNN6开源CMS
  8. GB28181流媒体服务LiveGBS启动报错 HTTP Port[10000] In Use
  9. 如何把include_type_name的值设置为true
  10. 疯狂java实验五数据流编程_2017-2018-2 20165209 实验五《网络编程与安全》实验报告...
  11. 量子计算机基本信息单位,量子计算机.ppt
  12. PDF文件阅读器迷你绿色纯净版3.4 和《电脑爱好者》2015年PDF 更新至18期
  13. live555 RTSP服务器与客户端通信源码分析
  14. 基于数字电路典型分频电路设计
  15. 宏碁暗影骑士AN515-55/57/58原厂预装系统oem镜像
  16. Excel如何为介于区间的数值设置背景颜色?
  17. Java对象转xml
  18. R语言survival包clogit函数构建条件logistic回归模型、summary函数查看模型汇总统计信息、通过似然比检验分析结果判断模型有无统计学意义
  19. 【Java并发编程实战】 5.5.1章节 闭锁 CountDownLatch 实现
  20. 宽带、专线等傻傻分不清楚——广域网协议

热门文章

  1. 三维点云配准方法(两帧)
  2. Matlab实现批量修改文件名
  3. RobotFramework:App九宫格滑动解锁
  4. NYOJ 7-街区最短路径问题(曼哈顿距离)
  5. 调出远程桌面的任务管理器
  6. 最大子数组问题 时间复杂度为Θ(n)
  7. 视觉注意力的循环神经网络模型(Recurrent Models of Visual Attention)
  8. 水文方面数据产品总结1
  9. 交叉验证与训练集、验证集、测试集
  10. Python学习总结(3)——数字类型