关于“#define STM32F4XX”

2019-07-20 23:23发布

我看到stm32f4xx.h中已经有 #define STM32F4XX    STM32F40XX 为什么在编译器设置里还要在 keil中options->C++->Define中定义 USE_STDPERIPH_DRIVER,STM32F4XX? 一旦定义后会出现重复定义的错误,如下  D:ARMPROKEILARMIncSTSTM32F4xxstm32f4xx.h(74): warning:  #47-D: incompatible redefinition of macro "STM32F4XX"     定义USE_STDPERIPH_DRIVER是为了使用conf.h文件, 这个在stm32f4xx.h可以看出来 #ifdef USE_STDPERIPH_DRIVER
  #include "stm32f4xx_conf.h"
#endif /* USE_STDPERIPH_DRIVER */ 那么STM32F4XX定义的目的是什么?在哪个文件中有相关代码? 如果是为了什么类似的目的而定义,那么#define STM32F4XX    STM32F40XX这个定义本身就可以触发#ifdef,意义何在? 菜鸟表示没找到定义它的理由?难道F4跟以前有区别?                                         
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
pizhihui1993
1楼-- · 2019-07-21 21:58
回复【6楼】正点原子:
---------------------------------
哦 对了 原子大哥,M4内核可以像M3内核那样进行位带操作吗?
正点原子
2楼-- · 2019-07-21 23:20
 精彩回答 2  元偷偷看……
pizhihui1993
3楼-- · 2019-07-22 00:55
回复【9楼】正点原子:
---------------------------------
恩恩 是的,我一度娘就有了,嘿嘿,成功!
wangky2014
4楼-- · 2019-07-22 04:55
回复【4楼】正点原子:
---------------------------------
为什么f4用你的模板不会出现 warning:  #47-D: incompatible redefinition of macro "STM32F4XX"   而我却要把options中STM32F40_41xxx去掉才没警告或者在警告处将其删掉?
贾宁ing
5楼-- · 2019-07-22 09:38
回复【11楼】wangky2014:
---------------------------------我的也是这情况,求破
clyget
6楼-- · 2019-07-22 10:59
 精彩回答 2  元偷偷看……

一周热门 更多>