本文档,以STM32F407VE芯片为样。
图解软件使用的主要流程:新建工程>工程配置>编辑代码>编译>烧录下载。
目录
一、新建工程
二、工程配置
三、配置引脚工作模式
四、生成工程
五、编辑代码
六、编译
七、烧录、运行
一、新建工程
1、菜单选项: CubeIDE > File > New > STM32Project
弹窗:打勾 > 确认, 再次弹窗参数框,默认,下一步。
2、选择芯片型号
3、工程名称、保存位置
刚才上图中,倘若点击的是"Next", 将会进入库版本选择。
此页面无需设置,默认即可,点击"Finsh"即可。
4、过程弹窗
至此,工程的前半部分,已设置完成。
稍等十来秒,会自动进入图形配置工程界面:
二、工程配置
这一步,主要是配置:调试模式、晶振、时钟、工程参数。
来到这里后,界面、配置的方法,CubeIDE和CubeMX两者基本相同的。
通过CubeIDE、CubeMX对系统运行参数配置,相当的简单,选项设置的步骤也没有先后之分。
但是,在咨询所收集的反馈中,很多人会配置失误:主要是忘了使能调试模式的那个选项。
建议谨记下面步骤:
调试 > 晶振 > 时钟树
只要上面三项小心配置,其它参数错了都是小事,后面也容易排查、修改。
1、debug模式。
第一步,选择:调试模式。
要是忘了配置,会导致:烧录一次程序后,会关闭调试功能,无法再烧录,需要做解锁的操作。
最多人犯傻的,就是这一步!
所以,每次新建工程时,必须地,作为第一步进行配置。
2、晶振源
这一步,选择:晶振源
HSE 选择第3项:外部晶振 Crystal/Ceramic Resonator
LSE 非必选,以后按需设置,用于实时时钟计数(真实项目中较少用到)。
3、系统时钟
这一步,是口诀中的:时钟树。
下图参数,通用STM32F407xx系列作展示 。
注意:1、3两项,要填写实物晶振值,一般在晶振上印有, 也可以查看原理图获得。
4、工程管理
打开工程管理页面,第一选项页,全部默认,可以不用修改。
但是,建议此时就把堆栈设置大一些,免得项目在后面添加的功能多了,内存溢出时排查的麻烦。
- Heap Size:0x0800
- Stack Size:0x1000
每二选项页,仅需打勾箭头一项,其它默认。
至此,已完成工程运行所需参数的全部配置。
三、配置引脚工作模式
这一步,展示如何配置引脚的输出模式。
这里,示范配置如何添加两个LED灯。
很多人不重视LED的使用。其实,LED状态、printf信息,是项目两大调试神器。
1、打开原理图,记录LED所用芯片引脚。
如上图:
红色LED,连接PC5, 置低电平时通路(亮);
蓝色LED,连接PB2, 置低电平时通路(亮);
2、回到Pinout页面,在右侧芯片界面中,点击: PB2 > GPIO_Output。
3、引脚的详细参数
LED的引脚配置,相当地简单,只需要设置为输出模式。
各个参数的具体作用,可以通过百度、AI,详细解读它的作用。
注意,这里只是初始化了引脚的工作模式,在生成代码时, IDE会自动生成引脚的初始化代码。
至于引脚的电平控制,后面再通过编写代码,对引脚置高、置低电平,以实现控制LED的亮灭。
上面对蓝色LED所使用的PB2引脚进行了配置,而红色LED所使用的PC5, 配置方法一样,不述。
四、生成工程
在生成工程前,养成习惯,回头检查工程配置:
下载 > 晶振 > 时钟树,这三项,不要有错漏,再进行下面的操作。
1、点击工具栏中 ”黄色齿轮“ ,开始自动生成工程代码。
注意,生成过程会比较耗时,耐心等候即可。
2、各种弹窗,全部打勾、确认。
对于首次需要生成的芯片系列型号 ,会有各种弹窗,全部打勾“记住我的选择”。
后面再次配置相同系列的芯片,就不会有弹窗了。
过程弹窗:
3、生成完成,会自动打开以下的工程编辑界面。
特别地,Keil软件上,每次只是打开一个工程。如果打开多个工程,会打开多个独立的任务窗口。
而CubeIDE,将是在同一个任务窗口中,打开多个工程。如下图:
至此,工程配置全部完成!
五、编写用户代码
工程生成后,会自动打开当前工程。
为了展示以后如何找开工程,我们先关闭CubeIDE。
打开工程所在目录:
下面是展开后的工程文件夹,双击.project文件,即可进入工程对代码进行编辑。
在左侧文件管理器中,双击Core > Src > main.c,即可显示其内容 。
在代码编辑区,可以编辑main.c的代码。
重点:所有用户代码,必须, 必须,必须:写在配对的BEGIN与END注释行之间。
如下图,咱写在了/*USER CODE BEGIN 3 */ 与它的 /*END 3 */之间。
否则,重新生成时,用户代码会被干掉。
在main.c代码中,向下滚动,找到while函数部分, 增加以下代码:
六、编译
单击菜单栏中的“”按钮,对工程进行编译。
关于“编译”这个词,用“构建”进行翻译,会更准确。但约定俗成地,更多人喜欢:“编译”。
编译过程,底部信息栏输出编译过程相关信息。
编译完成后,汇总有多少个错误、警告(下图蓝色一行)。
当出现:0 errors字样,即为代码正常,全部编译通过。
注意1:发现有错误时,向上滚动信息栏,找到第一个error字样提示行,双击将跳转到错误处。
注意2:每次编译,必须 0 errors,才会成功生成烧录文件。警告的数量不影响。
七、烧录、运行
这一步,示范开发板如何连接STLink,把程序烧录到开发板(芯片)。
常说的:烧录器、下载器,仿真器,是同一事物的不同叫法,不用在意。
烧录器常用设备型号有:
ST-Link | 最主流,便宜 |
J-Link | 稳定,稳定,稳定 |
DAPLink | 稳定,免驱动,开源 (CMSIS DAP; CubeIDE不能直接支持) |
1、连接ST-Link
特别地,魔女开发板已板载CMSIS-DAP,但CubeIDE无法直接支持CMSIS-DAP。
建议在CubeIDE中使用STLink,能减少好些参数设置。
注意1:开发板设备较多,不能单靠STLink供电,拉不动!必须再怼一根USB到板上接口作供电.
注意2:STLink, 需要预先安装好驱动; 另外,可能会有STLink升级驱动的弹窗,按需操作即可。
ST-Link | 开发板 |
SWCLK | SWCLK (丝印:C) |
SWDIO | SWDIO (丝印:D) |
GND | GND |
3.3V | 3.3V |
2、烧录
单击菜单栏中的“
”按钮,开始烧录。
新工程第一次运行,会弹出如下图:调试器配置窗。
直接点击“OK",将自动生成调试配置文件,并开始烧录。
烧录开始后,我们留意软件下方,可以看到烧录过程信息、进度。
当烧录完成后,芯片自动复位开始运行程序。
至此,CubeIDE的基本使用流程,已快速地展示了一遍。