stm32CubeIDE发布已经有一段时间了,网上也出现了好多使用教程,但是大多数教程都是从软件的安装 -> 汉化 -> 改软件皮肤 -> 新建工程 -> 在工程的main()函数添加自己的测试代码 -> 设置调试配置 -> 进行调试。看起来,教程确实已经非常完善了,跟其步骤来也不会有什么问题。
但是对于从keil转过来的我来说,习惯了一切外设都自己定义相应的.c文件和.h文件,然后添加到工程中来使用。初次接触到stm32CubeIDE,跟着网上的教程也走了大部分步骤,但是一直无法添加自己的文件,搜索也没有找到相应的教程(可能只是我没有找到,或者在其他教程中已经有此教学),所以当我自己摸索到方法时,就想写一篇仅关于这个的方法说明,于是就有了这篇博客。
我将重新创建一个工程,并演示如何添加自己的.c文件和.h文件
正文开始:
首先打开stm32CubeIDE,点击文件->新建->STM32 Project 创建一个新工程(因为我已经创建了工作空间,所以直接在这个页面,没有建工作空间的,打开软件时会提示你先建立工作空间,工作空间这个文件地址一定要记住,后面会用)
首次使用会加载一些文件,请耐心等待
加载完成后,选择相应的芯片型号,点击下一步
填写工程名,点击完成
点击是,打开芯片配置界面
将芯片的时钟引脚,调试接口,时钟树配置好,然后点击全部保存,或者按CTRL+S
找到工程里的mian.c双击即可打开
点击全部构建,可以看到没有错误
以上工程新建ok后,接下来就是重点了,如何添加自己的.c和.h文件。
首先你要知道,stm32CubeIDE左边的工程列表是与你实际工程所在的文件列表相对应的,且是实时更新的(点击构建后会产生更新)。就是说当你在stm32CubeIDE里直接添加或者删除工程里的文件或文件夹,那相应的实际工程所在的文件也会发生相应的变化。那么我们可以利用这一点向工程内添加自己想要添加的文件。
打开自己工作空间所在处,我的是D:\ruanjian project\STM32CubeIDE,然后你所创建的所有的工程都会保存在这个文件夹下,比如上面刚刚新建的工程就在这里。
打开工程文件夹,可以看到,两个文件树是一模一样的
在工程文件夹下新建一个文件夹mycode(啥名称都可以),并在里面创建LED文件夹,将led.c放到里面,创建include文件夹,将led.h放里面。之后所有需要添加到工程的.c文件都可以在mycode文件夹下新建对应的文件夹,将其放里面,所有的.h文件放到include文件夹里。
假如说我除了led还有其他外设要添加,可以如下:
新建完成后,回到stm32CubeIDE,点击重新构建,你会发现你新建的文件夹和文件就都显示在工程里了,但是这还没有包含在工程里,需要在软件做下设置。
接下来,就是将建好的文件夹添加到工程的工程里来,在工程名称处右击鼠标,选择属性
会显示如下对话框,依次找到如下地方,此处就是设置头文件文件夹的地方,设置了的文件夹,在编译工程时,软件会自动在这些文件夹里寻找所需的.h 文件。点击add添加一个新路径。
点击file system... 添加文件路径,选择mycode文件夹下的include文件夹,完成后点击:确定---应用并关闭
当你在工程目录下可以看到有这个路径时就说明成功了
还是重复以上步骤,在工程名称处右击,点击属性弹出如下对话框,找到如下地方,此处就是添加包含.c文件的目录,在此添加的文件夹下的.c文件,都会自动的添加到工程中来。如下界面,点击 add folder... 添加一个文件目录
点击 mycode 文件夹,点击确定,点击应用并关闭。
添加成功后,你会发现,工程下的mycode文件夹的图标,右上角会多一个C图标,证明添加成功了。
之后,再有需要添加其他的.c 和.h文件,只要将其直接放到对应的工程目录的文件夹下,点击重新构建,就会自动添加进来,无需再次设置。
都添加好了之后当然是要验证下可以调用其中的函数不,打开led.c文件,在其中编写LED_Init()函数,在main.c中包含led.h文件,并调用LED_Init()函数,之后重新构建工程,如果没有问题就ok了。如下:
点击重构,发现没有错误,没有警告,表示真正完成了。
至此,添加.c 和.h文件的方法已经说完了,如有不明白的可以留言联系我,如有错误欢迎指正。