KEIL创建工程中为什么头文件引用了stm32f10x_conf.h

2019-07-14 16:10发布

我在配置Keil的Preprocessor Symbols 选项的时候没有进行预处理USE_STDPERIPH_DRIVER和STM32F10X_MD(如图1)

根据头文件应该不会引用stm32f10x_conf.h啊。可是为什么就引用了(如图2)

还有设备密度我也没选。我就添加了文件。也没进行宏定义(如图1、图3、图4)。为什么中断自己能找到中断入口呢???



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
TOPCB
1楼-- · 2019-07-15 12:14
楼主看一下,仔细看开头的几行,我的版本可能和你的不一样。但是都有对应的处理的。默认的芯片类型等。比如下面的代码:

#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
  /* #define STM32F10X_LD */     /*!< STM32F10X_LD: STM32 Low density devices */
  /* #define STM32F10X_LD_VL */  /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */  
  /* #define STM32F10X_MD */     /*!< STM32F10X_MD: STM32 Medium density devices */
  /* #define STM32F10X_MD_VL */  /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */  
  /* #define STM32F10X_HD    */  /*!< STM32F10X_HD: STM32 High density devices */
  /* #define STM32F10X_HD_VL */  /*!< STM32F10X_HD_VL: STM32 High density value line devices */  
  /* #define STM32F10X_XL */     /*!< STM32F10X_XL: STM32 XL-density devices */
  /* #define STM32F10X_CL */     /*!< STM32F10X_CL: STM32 Connectivity line devices */
#endif
K_Ming
2楼-- · 2019-07-15 14:33
 精彩回答 2  元偷偷看……
K_Ming
3楼-- · 2019-07-15 19:41
TOPCB 发表于 2018-11-9 15:35
我只是举例说明,楼主可以看一下到底是哪个地方对这个进行的处理。

搜了一下。有宏定义的就只有你写的这里了。

/* #define STM32F10X_MD */     /*!< STM32F10X_MD: STM32 Medium density devices */
TOPCB
4楼-- · 2019-07-15 22:45
把你工程上传一下
tyewybvwe
5楼-- · 2019-07-16 01:49
建议在配置里面定义宏。这样文件就不用每次都修改。可以适配不同型号处理器
K_Ming
6楼-- · 2019-07-16 01:54
刘祥1982 发表于 1970-1-1 08:00

那我不在C/C++那里写应该有无影响呢?

一周热门 更多>