CubeIDE 学习笔记
一、CubeIDE下载与安装
CubeIDE下载地址:CubeIDE
windows用户选择如下图所示:
下载玩软件后就可以直接安装了,安装过程中会提示安装两个驱动一个是JLink、一个是STLink
新手玩家建议都装了,大佬就当我没说。
之后双击打开软件即可看到如下界面:
之后就可以新建工程了
在下图中选择使用的芯片
二、固件包路径更换
在之后就会发现一个坑,他会要求你安装一个固件包,但考虑到我的C盘快满了,因此想要将固件包放到别的盘,但发现他不像CubeMX一样有update setting可以设置固件包的路径,在我寻找了半天后,终于被我找到了!!
你可以通过Window—>Preferences—>STM32Cube—>Firmware Updater中进行修改
如下图所示
但是有一点要注意:
CubeIDE貌似不会保存用户的配置,因此建议在新建工程之前就进行路径的配置
在新的工程中,他的路径貌似会自动恢复默认值,暂时未发现有效措施,有办法的话再过来修改。
不过有一点让我仍然很不舒服的是:如果我将固件库装在别的硬盘,当我重新建工程,他仍然会将固件库指向C盘,这让我很头疼,如果有大佬知道如何一劳永逸,请务必在评论区告诉我。。。。
因此目前而言,如果重新建工程,请在一开始的时候(在新建STM32工程前)通过WIndows—>Preferences中把地址改成之前固件库的地址。
另外如果,是重新新建工程,他可能会提示你更新,如下图所示
这绝对是伴随着CubeMX一起过来的,如果不想出现这个界面,在更换器件库地址的时候,可以在下方直接选择Off Line Mode。
三、硬件配置及代码编写
OK,现在来初步上手CubeIDE吧。
首先我们新建工程,选择器件,在这里我选择的STM32H750BVB系列,并整好了固件库后,我们就会进入一个十分类似CubeMX的界面,在这个界面中,所有操作基本跟CubeMX一样。
这里我们首先是进行RCC时钟的配置
之后选择LED的引脚进行配置
这里的配置根据自己的需求和硬件原理图来进行设置。
之后我们进行时钟树的配置
2021/6/7更新
之前我这里都没有注意,在配置时钟树的时候,一定要注意芯片晶振的频率,像下图中,我实际上晶振频率只有8M,但这边配置成25M,导致我在run的时候出现了各种奇妙的bug,包括printf输出乱码的问题。
这里我们时钟树的配置是按照正点原子的来进行的,具体对时钟树的配置可以去了解一下正点原子STM32H750的hal库开发手册。
之后只需直接ctrl+s保存就可以生成代码了。
之后在main.c中加入如下代码
ctrl+B即可进行编译
四、烧录代码并进行运行调试
第一次运行,会蹦出这个界面
直接run即可
直接运行,到现在为止,LED跑马灯就成功实现了。
五、代码自动补全
CubeIDE具有代码补全功能,但这个功能需要 alt+/ 才能实现,但寻求便捷也可以尝试安装插件,具体流程可以参考这个链接
给你的cubeIDE加上翅膀–添加类似keil的代码补全功能!
虽然网上可能有别人做好的,但可能因为版本差异,不一定好用,所以自己尝试吧。
如果下载过慢,建议先开启全局魔法,在进行下载。
下面这个是我整理好的
org.eclipse.cdt.ui_6.7.1.202005220422.jar-嵌入式文档类资源-CSDN下载
六、Cube IDE中文显示问题
因为MDK一般都是用GBK编码,而CubeIDE默认是utf-8编码,所以在一些注释上常常引起乱码,但这个还好,关键是在显示oled或者lcd显示中文时,由于代码编码的问题容易引起错误。
具体解决方案:右键项目->Properties->Resource
或许你会发现下拉没有GBK的选项,但你可以选择手动输入,这个貌似是隐藏选项。。。。
七、加入已有驱动
已有的代码可以直接复制到工程目录下,然后再CubeIDE里面F5刷新就会出现了
至于头文件的加入可以从Project->Properties->C/C++ General -> Paths and Symbols -> Add
加入即可
八、CubeIDE下使用printf
在CubeIDE下使用printf,需要在配置好串口后,在串口的usart.c文件的一开头加入以下代码
1 | #include <stdio.h> |
如果需要使用printf进行浮点型的输出,则需要在下面的界面中,将两个勾打上。
另外 printf输出的时候,在CubeIDE的环境下最好在后面加入\r\n否则,数据会缓存在串口,直到达到一定的数量才会显示出来。