学习stm32时踩平的一个坑:#223-D: function "EXTI_Init" declared implicitly
作者:互联网
最近买了板子,跟着正点原子的电子资料学习stm32。学到外部中断时出现这样一个问题:
如图代码提示有问题,编译后出现警告:
main.c(25): warning: #223-D: function "EXTI_Init" declared implicitly
编译可以通过,代码下载运行也没有问题。可作为一个完美主义者,有警告就要消灭。不然感觉很不爽。对不?
这种情况下,通常是由于文件包含出了问题。可是我的代码跟他的几乎一样。文件包含的关系也相关简单,不太可能出问题。
- 第一步:我下载正点原子的代码编译,没有问题。
- 第二步:我把他的代码复制到我的文件中,编译问题依旧。
- 第三步:代码一样,那就是我的文件命名的问题了。改了文件的名字之后问题消失。
可是问题出在哪儿呢? - 我的水平不可能那么高,刚好起的名字和某个HAL库文件名一样。
那这是怎么回事呢?
我是按照正点原子书上的方法,建立工程模板,然后复制。新建文件c和h文件,保存在HARDWARE的相应目录下。但新建文件保存时,不小心没有选择文件目录,mdk就把文件直接放在了USER目录下。
当我往HARDWARE组中添加文件时,发现HAREWARE目录下没有相应文件。那么当然是重新再建一个。于是,同一个工程中就有了两个同名的头文件。尽管user下的文件是空的什么也没有,但还是会有警告。
我删除user下的文件后,一切恢复正常。
标签:function,问题,declared,HARDWARE,文件,代码,stm32,编译,正点 来源: https://www.cnblogs.com/xiaolee-tech/p/16063989.html