学习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下的文件后,一切恢复正常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现