——Dec.8.2020
目录
本次实验采用正点原子STM32F407探索者开发版和STM32cubeIDE软件开发
- 初步了解STM32cubeIDE的文件管理系统
- 学会在工程文件中添加新文件
一、STM32cubeIDE文件管理系统
(1)文件系统结构
这是我们新建一个工程后看到的文件系统,整个工程取名为Project,我们看到下面有很多子目录。
- 一看到
Includes
,熟悉C语言
的同学想必有点Amazing,这里居然包括了所有的头文件路径(后续添加文件可以通过这个来查看文件是否添加成功) - 其中
Core
位核心文件,里面包含了芯片HAL库函数文件,main.c以及对应头文件。 Starup
对应的是项目启动相关的设置,我们一般是不用动这个文件的Drivers
是一些外设对应的驱动函数文件,子目录中有CMSIS
文件夹中就包含许多外设调用函数,其中CMSIS(微控制器软件接口标准,Cortex Microcontroller Software Interface Standard)。因此例如ADC,DMA,FLASH等函数都可以在这里查找。- 注:这里因为有一些功能没有开启,所以可能会缺少某些功能的文件,读者可以自行查询。
那么一些好奇的同学就会问了,这么多文件我该怎么找自己所需要的函数呢?这里提供了三种方法:
- 学会利用IDE的文件系统检索功能,在macOS端可以用快捷键
Control + H
来快速调出检索界面。(PS:这个也是本人最常用的一个功能,只需要记住函数的关键字就能进行检索找到对应的函数,还是挺方便的) - 上网查询(可以直接搜索,或者上一些例如CSDN,电子发烧网的优质论坛查询)。(PS:这个和第一个方法经常会一起用,用熟练的话效率还是蛮高的)「附:这里另外介绍几个最近发现的ST论坛。 STM32cube中文网 STM32/STM8技术社区」
- 查询官方文件(STM32中文(英文)手册、ST官方的HAL库用户手册等)。
(2)生成编译文件选项
当我们编译构建Build All
的时候,STM32cubeIDE在默认情况下只会生成二进制文件(.bit),而一些程序烧录软件只支持十六进制文件(.hex),这就需要我们在设置中勾选十六进制的编译文件。
具体操作:点击Project右键Properties -> C/C++ Build ->Settings -> Tool Settings-> Convert to Hex file (-O ihex)
最后Apply and close
完成设置,下次编译的时候就会自动生成相应的(.hex)文件(这些编译文件均可以在Debug
文件夹中找到)
二、在工程中新增文件
(1)工程内部添加
我们可以在工程中直接在上方工具栏中添加文件,注意,在新建源文件(.c)以及头文件(.h)的时候,文件命名时需要加上后缀名(.c or .h)否则文件系统会自动把新建的文件理解成文本文件(.text)
(2)外部文件添加
虽然我们知道了如何从工程内部添加文件,但是很多情况下我们更需要从外面引入文件。这里介绍引入外部文件的方法。
- 为了方便后续文件管理,我们在工程根目录中新建一个文件夹(这里我采用另外一个工程的键盘文件
Keyboard_4_4
,里面有相应的源文件和头文件) - 加入文件后,我们刷新一下列表,会发现文件已经出现在我们的列表之中,但是现在它们还在没有真正**“加入工程”**,我们还不能调用其中的函数。这是因为编译中并没有添加相应的路径。
- 头文件添加:我们
右键->Properties -> c/c++ General
,我们可以在Includes
标签下,选择Add
添加,点击Flie system
选择我们的文件夹。我们可以看到Include directories
下面已经有了我们的路径。
- 源文件添加:我们回到
Properties for Project
,点击Source Location -> Add Folder...
选择我们的文件,点击添加即可。这样我们就可以正常调用这些文件了!
三、建议
学会如何添加文件后,我们可以将外设的驱动代码另设文件,方便以后移植和调用。
END