STM32入门实战:工之利器,基础代码生成器CubeMX

STM32入门实战:工之利器,基础代码生成器CubeMX

首页角色扮演Project MX更新时间:2024-07-04

说起C51单片机,在业内可以说无人不晓。因为它太经典了,简单易学,价格便宜,应用广泛。但是随着时代的发展,它的缺点也愈加明显:它只是8位单片机,工作频率很低,一般都不超过30MHz。而且它只集成了一些最基本的外设,你如果想用一些目前比较常见的USB、SD、CAN功能,你就必须另外添加模块。这样不光麻烦,而且成本也高,系统的可靠性也会降低。

而STM32单片机,则克服了上边所说的所有缺点。它采用ARM架构,是32位的精简指令(RISC)单片机,频率36MHz起步,最高的达到了650MHz。它的外设非常丰富,RTC、USB、SD、CAN、FMC...,直接激活就能用。它的价格从人民币一块多到几十块的全都有,你可根据需要灵活选型。并且在具备了C51单片机的基础知识后,掌握STM32单片机也是非常容易的事。

工欲善其事必先利其器,要想快速入门STM32单片机,我们要先搞定它的基础代码生成器--STM32CubeMX。这个软件可以把用户从与硬件紧密相关的底层驱动代码中解放出来,把精力更加集中在自己的产品应用程序上。

在此之前,每个使用者都为掌握STM32单片机庞大的寄存器及底层驱动程序而头痛不已。通常你在写一个应用程序之前,要先拷贝一个通用的底层驱动模板,这个模板里边包含了寄存器和外设的驱动代码,非常庞大。所以你想把它彻底掌握,可不是一件容易的事。这时如果你需要添加新的外设模块,你可能对如何正确地添加它的驱动程序而感到束手无策。

而STM32CubeMX采用图形化的操作方式,基于HAL(Hardware Abstraction Layer硬件抽象层)的库函数,让你几乎可以不用关心那些复杂的寄存器和外设硬件,只需几步鼠标操作就能生成一个可以被正常编译运行的STM32驱动程序系统。最主要的是,ST公司早已抛弃了原来的标准库,最新的MCU将只支持HAL库了。

这个软件目前最新的版本是5.6.1,打开官方网站:www.st.com,在搜索框中搜索CubeMX即可下载

官网搜索并下载CubeMX

该软件免费,安装时需要Java运行环境,你可能需要按提示下载安装一个Java的插件,然后再继续安装CubeMX。安装非常简单,装好后打开:

点击红圈内的"ACCESS TO MCU SELECTOR"按钮进入单片机选型界面:可以看到最左边一栏是单片机按内核、系列、封装、价格、外设选型列表,右边是所有STM32单片机的型号列表,其中Unit price一列是以美金为单位的参考报价。还有封装、RAM、ROM、主频这些,非常方便项目选型。

STM32单片机选型界面

我们在左上角的Part Number Search搜索框中输入F103C8后,右边的列表马上弹出了STM32F103C8Tx这款经典的单片机信息。显示的价格是2.056美元,但实际上6元左右人民币就能买到了。

双击红圈中的单片机选型信息,即可进入该型号单片机的驱动程序配置页面。如果你是第一次安装这个软件,由于还需要F1这个系列的单片机芯片包,你需要等待软件自动从官网下载安装完成它。

第一个页面是Pinout配置页面,主要对单片机各管脚对应的功能进行配置。我们先配置好单片机的程序下载管脚,打通它的任督二脉。依次点击Systerm core->SYS->Debug中选择Serial Wire。可以看到最右边单片机右上角的PA13(SWD)和PA14(SWC)引脚变绿了,此时就使能了SWD串口下载功能,我们就可以用一个很小巧的串口下载器下载和调试程序了。

Pinout配置页面

第二个页面是Clock配置页面,设置单片机的时钟,分别有LSI RC(内部低速时钟)、HSI RC(内部高速时钟)、HSE(外部高速时钟)三个选项。我们选择HSI RC,这样单片机上不需要接晶振即可工作。再选择PLLCLK锁相环对时钟倍频后,最高可生成64M的CPU工作频率。

Clock配置页面

第三个页面是Project管理页面,主要设置项目名称、路径、选择编译器以及驱动程序文件的简单配置。在Project选项卡中设置好Project name、Project location和Toolchain/IDE名称及版本:

Project选项卡

在Code Generator选项卡中第一项选择仅“仅拷贝所需的库文件”,这样可以使生成的程序最简化。第二项选上“对每个外设初始化产生成对的H和C文件”,这样生成的每个C程序都对应一个H头文件,结构清晰明了。

最后点击右上角的GENERATE CODE按钮开始生成驱动程序,再点击Open Project即可用你事先安装好的Keil编译器打开生成的驱动程序了。

开始生成驱动程序

在Keil编译环境下,按Build按钮编译后可以看到0警告0错误。当然你要是把这个编译出来的HEX程序下载到单片机中,它是不会有任何动作的,因为我们还没有在main程序中添加任何我们自己的控制程序。但是到此时,整个工程的基础已经很轻松的搭好了,剩下的就是集中精力编写和调试用户自己的应用程序了。

Keil编译界面

如果你在编写程序过程中需要用到其它外设,你只需打开CubeMX生成的.IOC工程文件重新编辑即可,是不是很简单高效呢?

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved