嵌入式开发--CubeMX使用入门教程

# CubeMX简介

传统的单片机开发时,需要针对片上外设做各种初始化的工作,相当麻烦。

CubeMX是ST公司出品的一款图形化代码生成工具,通过图形化界面,可以非常直观的配置好各种片上外设,时钟,中断,DMA等等各种设备的参数,然后CubeMX可以直接生成初始化代码,使得开发人员可以将更多的精力放在核心代码的开发上。

生成的代码选择性适配IAR,Keil,以及ST自家的STM32CubeIDE(免费)

# 初始界面

打开软件后就是这个界面

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(1)

最左边是之前打开过的工程,中间是生成新项目的方式,右边是软件安装选项。

按箭头说明一下:

1:通过选择一款MCU来生成工程,一般用这个。

2:通过选择一款ST的开发板来生成工程,对于手里有ST开发板,想要学习开发板例程的,可以选择这个。

3:通过实例来生成工程,这个实例就是开发板已经实现的例程的名字,比如我想学习SPI接口,那么就可以通过这个打开,然后再选择ST开发板,和第2项是一回事。

4:检查更新

5:安装和删除软件包。每一款单片机都是需要安装对应的支持包才行的,可以从这里安装,删除或更新软件包。

# 生成工程

下面我们生成一个计算CRC的工程,用到的片子是STM32G030C8T6,配置PA9和PA10为串口。开启串口中断。外部晶振8MHz。将来用KEIL做软件开发。

点击箭头1,来到MCU型号选择界面

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(2)

在1处输入STM32G030C8T6,前面的STM32也可以不输入。随着我们的输入,右边窗口会逐渐缩小选择范围,如下图,注意键盘要在英文输入状态,中文状态是不行的。

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(3)

箭头2所指的这个芯片,就是我们所要选择的。

同时还给出了参考单价,芯片封装,FLASH和RAM容量,IO口数量和最高频率等信息,以方便我们选型

确定好芯片以后,双击它,就来到下一个界面。

# 功能配置界面

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(4)

它包含4个选项卡,下面我们来一一介绍。

## 1 引脚和配置

这个界面最常用,左边是配置MCU内核,片上外设,中间件的。

右边可以配置IO口,和引脚复用功能

下面我们点开System Core,并点击SYS,并在新出现的窗口中勾选第1项Serial Wire,的意思是启用SWD调试接口,即可以通过仿真器下载和调试程序。

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(5)

点击Connectivity,点击USART1,Mode选择Asynchronous,意思是异步串口。其他保持默认。下面的窗口中,通讯速度按需要设置,默认是115200bps,数据位8,奇偶校验无,1个停止位

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(6)

此时可以看到窗口右边,相关引脚已经变为绿色。可以看到PA9为TX引脚,PA10为RX引脚。

如果PA9必须做别的功能使用,那还有备用引脚可以选择,方法是按住Ctrl,再鼠标左键长按PA9,此时备用引脚会开始闪烁,本芯片的备用引脚只有一个:PB6

左键点击PB6,选择USART1_TX即可将该引脚变为TX功能

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(7)

## 配置中断

点击红箭头所指的NVIC Settings

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(8)

在方框内勾选,即可开启串口中断

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(9)

## 开启CRC模块

CRC功能在Computing中配置,但是如果不知道呢,该怎么快速找到呢?

在箭头所指处输入CRC,并回车,注意一定要在英文输入状态,左下就会出现展开CRC所属的Computing的配置项

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(10)

在下方箭头处勾选,以激活CRC模块

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(11)

下面的参数按需要设置。

可以设置长度,多项式,初始值,输入是否反转,输出是否反转等。

设置好以后,直接将要计算的数组发给CRC计算单元也就是使用HAL_CRC_Calculate()这个函数,返回值就是我们要计算的CRC值,方便快捷。

有硬件可用就不需要写函数,速度还快,还省空间。

## 时钟配置

在RCC中选择HSE为外部时钟,即Crystal,意思是外部晶振,下面这两个脚就是晶振引脚,会变绿。

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(12)

点击下图红箭头,进行时钟配置

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(13)

选择下图的时钟路线

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(14)

在箭头处输入64,回车,意思是使用64M的主频,相关的倍频分频参数软件会自动帮我们计算好。

## 生成代码

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(15)

在1处输入项目名称

在2处选择工程路径

在3处选择将来要开发的软件,我用Keil所以选择MDK

在Code Generator选项中按下图设置

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(16)

最后,点击右上角的GENERATE CODE,生成工程,

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(17)

弹出下面的界面,就表示工程生成好了,点击Open Project就可以打开工程,开始开发了。

cubemx详细教程:嵌入式开发--CubeMX使用入门教程(18)

————————————————

版权声明:本文为CSDN博主「老李的森林」的原创文章,遵循CC 4.0 BY-SA版权协议

#stm32# #cubemx# #单片机# #软件# #硬件# #开发# #嵌入式# #电路板# #编程#

,