STM32学习笔记(三)--STM32CubeMX
-
STM32CubeMX入门
之前在论坛原先的文章了解到了这个软件,觉得很新奇,打算尝试一下,就安装了(安装方法很简单,免费软件)
最近几天看到实验室的学长也开始用这个软件,并向我推荐使用,于是花了一些时间学习了一下,总体来说,STM32CubeMX可以非常迅速的对STM32进行初始化,大大提高了开发效率,而且配置时钟的可视化界面很能帮助对芯片内部结构的理解,初始化的过程不再需要死记硬背那些库函数(毕竟如果使用的库不同的话,函数名称也会有一点变化)。
利用STM32CubeMX开发的过程:
1.新建工程
在最上面的菜单栏找到“File”,点击,然后选择新建工程2.选择芯片型号
找到想要的型号,或者直接在左上方的搜索框内搜索。3.开始工程
点击右上角的“start Project”即可开始开发,或者点击旁边的”Datasheet”可以下载该型号芯片的数据手册4.配置debug
如图,以比较简单的STM32F103C8Tx为例,这是开发界面,在上方有Pinout&Configuration,Clock Configuration,Project Manager,Tools。分别是引脚配置,时钟配置,工程管理,工具首先,在左边选中SYS,Debug设置为Serial Wire
最开始使用STM32CubeMX的时候,没有注意到这一点,导致烧录程序之后,SWD和SWCLK两个端口变成了普通的GPIO端口(PA13,PA14),单片机变砖(后来一直按住复位键,重新烧录了一个没有问题的程序,成功解决了(st-link无法烧录,使用了J-link,按住复位键,点击烧录,会弹出一个对话框,点击确定,继续烧录,在通过sw烧录前的一瞬间,松开复位键,将程序成功烧录))然后,配置RCC时钟,将高速时钟源调整为外部晶振,若低速晶振也接入了,那么也将低速时钟源调整为外部晶振。
5.时钟树配置
点击上方的Clock Configuration,配置时钟树,配置成72MHz,如下图所示
6.配置相关外设
回到Pinout&Configuration,点击引脚可以配置引脚,左边的侧栏可以配置一些功能,比如IIC,CAN,SPI,USB等7.工程设置
在Project Manager中设置工程名,输出格式(可以设置成输出keil工程文件,版本支持keil4,keil5),以及相关输出设置8.输出工程
最近在调试CAN协议,了解了CAN协议的相关初始化的流程之后,利用STM32CubeMX会非常节省时间,开发效率很高,另外,也接触到了STM32的另一种固件库,HAL库(之前一直使用官方的标准库)