文章目录
一、STM32CubeMX
1.1.STM32CubeMX简介
STM32CubeMX是ST开发的一款图形配置工具,可通过配置自动生成初始化代码,不会生成逻辑代码,因此该软件只是一个辅助工具,想要配置一个外设的初始化,看手册也难以理解的时候,这个软件是个不错的选择。一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片。
1.2.STM32CubeMX的安装
1.2.1.先搭建Java的运行环境
在Java的下载链接下载Java,按步骤安装适合自己电脑的Java,64位电脑选择x64,32位电脑选择x86,接着打开指令窗口,输入java -version检测是否正常安装。
1.2.2.安装STM32CubeMX
最好安装到D盘里,新建一个文件夹,文件夹名字不要有中文,不然会出错。建议在D盘新建一个新文件夹用于存放STM32Cube固件包,路径:D:\STM32Cube\Repository。
1.2.3.关联STM32Cube固件包的方法
二、创建CubeMX的工程
2.1.工程初步建立
新建工程,选择芯片型号,点击星号收藏,方便下次创建新的工程,进入这个界面:
2.2.时钟模块配置
设置HSE(外部高速时钟)、LSE(外部低速时钟)、MCO(芯片往外部输出的时钟):
2.3.时钟系统配置
点击Clock Configuration,进去时钟配置界面,最左边的数字8是通过查阅STM32F103原理图可得,再配置PLL、SYSCLK、AHB、APB1、APB2等:
2.4.GPIO引脚配置
以连接在LED灯的IO为例介绍如何配置,回到配置引脚使用界面,将PB5和PE5配置成output,
在下图位置,细致配置引脚,这次实验是将两个引脚配置成推挽输出,默认输出3.3v电平,通过查阅原理图,LED灯需要主机输出低电平点亮,所以设置默认高电平,让它熄灭。
2.5.Cortex内核配置
SYS(DEBUG)配置、NVIC(优先级分组):
NVIC等级选择下图:
2.6.生成工程源码
设置工程,MDK等,最后生成代码工程。
Application Structure选择Basic还是Advanced,可以看下图:
第一个框选择只生成所需要的库文件,不然全都选的话会影响编译速度;第二个框是将.c和.h文件分开存放,便于管理:
在右上角,点击生成代码:
2.7.编写用户程序
在main.c文件预留的位置编写代码(箭头指向的部分),一定要放在预留的位置,不然下一次进入代码,原先写好的代码会被覆盖掉:
三、注意事项
在STM32CubeMX生成的代码存放的路径尽量不要有中文,如果有中文,需要在MDK-ARM文件夹里添加这两个代码: