学习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下的文件后,一切恢复正常。

posted @   xiaoleebaba  阅读(4022)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示