目录
- 一、概述
- 二、Pinout&Configuration
- 2.1 开启debug模式
- 2.2 设置时钟源
- 2.3 设置LED的GPIO
- 2.4 查看调整配置
- 三、Clock Configuration
- 四、Project Manager
- 五、查看工程
一、概述
本文主要是通过实现闪灯,记录下STM32CubeMX的基本使用方法。
File–新建工程–选择芯片,之后是这个样子:
下面开始进行配置。
二、Pinout&Configuration
2.1 开启debug模式
首先需要开启debug模式,避免忘记。第一次使用没有修改这里,结果程序下载一次,再也下载不进去了。找了半天原因,才发现是这里。
2.2 设置时钟源
通常使用,都会使用外部晶振。比如M3核,经常是8M + 32.768K,所以这里直接选择外部晶振:
2.3 设置LED的GPIO
根据原理图,选择对应的IO口。在上面单击,会出现该IO支持的功能。因为是点灯,选择了通用输出:
选完IO模式后,可以在IO上右键,选择Enter User Label:
之后输入自定义的命名,我通常选择和原理图保持一致:
2.4 查看调整配置
现在调试模式、时钟源、IO选择都已经配好,可以查看状态:
左侧选择需要详细设置的外设,比如GPIO。
中间部分可以进一步配置IO的上下拉、速度、初始电平等。
右侧选择System view,可以看到状态都是对钩,则没有什么大的遗漏。
三、Clock Configuration
点击上方的Clock Configuration,进到如下界面:
这里目的是配下时钟树,不同系列有所差异,我这里是STM32F103RC:
四、Project Manager
这里主要是设置下生成工程的名称、路径,然后根据自己使用Keil还是IAR进行选择。
选择界面左侧中间的Code Generator,这里要多勾选一项,这样每一个外设,都会有单独的.c和.h文件。比如gpio.c/gpio.h、can.c/can.h。
至于上面的copy all还是copy necessary,自己选择就行。
勾选完,点击右上方的GENERATE CODE:
等待一会,程序生成完会弹出对话框。按照自己的习惯去打开工程就可以了。
五、查看工程
查看GPIO的初始化函数,这里对应设置时选择的电平。比如LED低电平亮,那就可以配置成高电平。初始化完成以后,LED是灭的状态。
生成的工程,main函数主循环是空的:
根据需求添加程序就可以了,这里只是单纯的闪灯:
HAL_Delay(300);
HAL_GPIO_WritePin(LED_polo6_GPIO_Port,LED_polo6_Pin,GPIO_PIN_RESET);
HAL_Delay(300);
HAL_GPIO_WritePin(LED_polo6_GPIO_Port,LED_polo6_Pin,GPIO_PIN_SET);