STM32CUBUMX+LED

Posted 平陆成江,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32CUBUMX+LED相关的知识,希望对你有一定的参考价值。

实验准备

STM32CUBEMX 版本 6.0.1
Keil 版本 5.31
STM32F103C8T6 核心板
STLink+杜邦线
将STLink与核心板及电脑连接并保证连接正确,通信成功

一、LED及GPIO基础知识

所用开发板LED接线图
所用开发板LED接线如图
LED及发光二极管,图中LED正极接3.3V电压,只要PC13输出低电平,二极管即导通发光。

二、STM32CUBEMX配置

1.新建工程

选择单片机型号:
选择单片机型号

2.配置时钟

时钟选择
ByPASS Clock Source:旁路时钟源
Crystal/Ceramic Resonator:晶体/陶瓷振荡器
选择前者:系统时钟由外部提供
选择后者:系统时钟由外部晶振和芯片内部电路协作提供

时钟树配置

3.配置调试接口及时基

在这里插入图片描述
SW调试+SysTick提供时基(开操作系统时不能选用SysTick)

4.配置引脚

在这里插入图片描述
配置引脚为输出模式,默认上拉即输出高电平,LED熄灭。
给该引脚添加标签,增强代码可读性

5.生成工程

在这里插入图片描述
这样可以使生成的工程干练有条理,生成并打开工程

三、Keil编写代码

#define LED_Pin GPIO_PIN_13
#define LED_GPIO_Port GPIOC

可以看到生成的代码中对该引脚进行了重定义

1.配置keil

在这里插入图片描述
使用高版本可以提高编译速度
选择调试器:
在这里插入图片描述

2.编写代码并烧录

在main函数的循环内添加代码并编译

      HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);//PC13输出低电平

编译并烧录:
在这里插入图片描述
可以观察到LED点亮(没有亮可以尝试按RESET键)

3.LED闪动

将主循环内代码改为:

      HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET); //PC13输出低电平
      HAL_Delay(1000);   //延时函数(1000ms)
     HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);    //PC13输出高电平
      HAL_Delay(1000);

      HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);  //PC13电平翻转
      HAL_Delay(1000);

可以观察到LED每隔1s闪动一次

工程下载地址

链接:https://pan.baidu.com/s/1leqBhoJoMFCdyIE2P9qn9g
提取码:i4nj

以上是关于STM32CUBUMX+LED的主要内容,如果未能解决你的问题,请参考以下文章

在一个 STM32 点亮 LED 的程序中,部分代码如下?

stm32单片机单led模块的作用

STM32F407_LED代码

关于stm32建立工程的c语言问题 主函数里面包含了stm32f10x.h和led.h, led.

STM32跑马灯

STM32CubeMX(01)基于HAL库点亮LED