嵌入式(十):STM32Cube安装教程&第一个流水灯工程环境搭建
写在前面:由于做实验的时候遇到了很多的错误,所以可能下面的步骤中存在少量逻辑问题,是因为我在一个问题上卡了很久导致的。
1.打开STM32CubeMX软件,点击New Project。选择对应板子的MCU(STM32F103VBT6)
2.弹出了一个错误窗口:
3.点击yes,等待,这个等待的时间会很久,如果直接取消,不会影响到你打开工程,所以看个人意愿了
4.然后进入新建工程界面
5.选择班子的时候,如果直接输入STM32F103VBT6会没有对应的型号,我们选择的型号是STM32F103VBTx
6.双击即可进入工程界面
7.RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
8.GPIO口功能选择:PE8至PE15是LED的A至H,找到对应管脚设置为GPIO_Output,PB3为数码管/LED灯选择引脚,也配置成GPIO_Output。
9.这一步需要用鼠标移动到对应的管脚上,然后会出现选择界面,选择即可
10.如果想要使用STLink的在线仿真功能,还需要将PA13配置成SYS_JTMS_SWDIO,PA14配置成SYS_JTCK-SWCLK,即将SYS的Debug配置为Serial Wire即可,这样就可以使用STLink直接下载程序和调试程序了。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)
11.时钟配置采用图形配置,直观简单。各个外设时钟一目了然。因为我们所使用的学习板的晶振是12M的,所以我们需要将Input frequency修改为12;STM32最高时钟为72M,此处只要在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)
12.首先点击菜单栏里的clock configuration
13.然后配置时钟
14.进入功能外设配置
在配置框我们可以看到有几个区域,分别对应的功能设置如下
Control(控制):定时器
Analog(模拟):DAC、ADC
Connectivity(通讯连接):串口、SPI、I2C、USB、ETH
Syetem(系统):DMA、GPIO、NVIC、RCC
我们的工程中没用的不用配置,RCC不用配置,所以我们只需要配置GPIO。直接点击中央的GPIO,进入配置界面
GPIO output level:设置管脚的状态
GPIO mode:设置管脚模式
GPIO Pull-up/Pull-down:设置管脚是否上下拉
Maximum output speed:设置管脚最大输出速度
User Label:用户标签
这里可以看到我们将PB3设置为高,其他的全部设置为低,管脚模式是推挽输出,管脚速度为低速,无上下拉。
15.点击apply,然后点击ok
16.点击Project->Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面设置堆栈大小,此处不作修改。
17.不要点ok!!!
18.在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of ‘.c/.h’ files per periph…。外设初始化为独立的C文件和头文件。
19.首次会出现弹窗:
20.点击yes,然后等待,这个时间非常漫长,继续等吧
21.但这个很难做到,所以我们可以这么做
22.但是,很奇怪的是,如果,我们不去下载,而是直接取消,然后再次点击ok,他会直接生成project,而且没有了弹窗
23.点击Project->Generate Code或者点击图标生成工程代码
24.但这个时候,我们需要将课程群里面的固件包下载进来,然后在help里面的manage里面进行安装,同样是在from local里面进行导入安装,这个比较快。
25.安装好之后,还要注意修改一个东西,在project的setting里面
26.将use latest available version去掉,然后选择我们的版本,并选择我们的location
27.然后在去生成工程
点击open project打开工程,到此就配置好工程外设初始化