STM32CUBUMX+LED

文章目录

  • 实验准备
  • 一、LED及GPIO基础知识
  • 二、STM32CUBEMX配置
    • 1.新建工程
    • 2.配置时钟
    • 3.配置调试接口及时基
    • 4.配置引脚
    • 5.生成工程
  • 三、Keil编写代码
    • 1.配置keil
    • 2.编写代码并烧录
    • 3.LED闪动
  • 工程下载地址

实验准备

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

一、LED及GPIO基础知识

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

二、STM32CUBEMX配置

1.新建工程

选择单片机型号:
STM32CUBUMX+LED_第2张图片

2.配置时钟

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

STM32CUBUMX+LED_第4张图片

3.配置调试接口及时基

STM32CUBUMX+LED_第5张图片
SW调试+SysTick提供时基(开操作系统时不能选用SysTick)

4.配置引脚

STM32CUBUMX+LED_第6张图片
配置引脚为输出模式,默认上拉即输出高电平,LED熄灭。
给该引脚添加标签,增强代码可读性

5.生成工程

STM32CUBUMX+LED_第7张图片
这样可以使生成的工程干练有条理,生成并打开工程

三、Keil编写代码

#define LED_Pin GPIO_PIN_13
#define LED_GPIO_Port GPIOC

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

1.配置keil

STM32CUBUMX+LED_第8张图片
使用高版本可以提高编译速度
选择调试器:
STM32CUBUMX+LED_第9张图片

2.编写代码并烧录

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

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

编译并烧录:
STM32CUBUMX+LED_第10张图片
可以观察到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

你可能感兴趣的:(单片机,stm32)