STM32CubeMX使用之实现点灯大业

Posted 何事误红尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32CubeMX使用之实现点灯大业相关的知识,希望对你有一定的参考价值。

一、概述

本文主要是通过实现闪灯,记录下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

这里主要是配置下生成工程的名称、路径等等。

这里要多勾选一下,每一个外设,都会有单独的.c和.h文件。比如gpio.c/gpio.h、can.c/can.h。勾选完,点击右上方的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);

以上是关于STM32CubeMX使用之实现点灯大业的主要内容,如果未能解决你的问题,请参考以下文章

003_STM32CubeMX点灯

利用STM32CubeMX快速创建点灯带调试输出工程案例

STM32G070RBT6基于STM32CubeMX创建串口中断接收数据

STM32CubeMX之串口配置

STM32CubeMX使用之DMA方式使用ADC

利用STM32CubeMX之SPI