stm32基础学习——点亮第一个LED灯

一、前言

好久没玩博客了,由于刚读研,前段时间需要处理的相关事宜比较多,就没有发过博客了,往后开始继续记录一些所学所得的知识,希望能帮助到自己也能帮助到有需要的人吧。后面我可能主要更新stm32的基础使用以及人工智能相关方面的知识。首先这篇文章主要是介绍使用stm32点亮第一个LED灯,这不亚于咱们学一门编程语言写的“Hello World !”,废话不多说,咱们开始。

二、准备工作

硬件:

  • stm32F103C8T6开发板
    ST-LINK V2下载器一个
  • 220Ω电阻一个
  • 3~5V的LED灯(发光二极管)一个
  • 杜邦线若干+面包板

软件:

其他(需要自行下载,点击前往,下载template文件即可):

  • stm32工程模板(由于新建模板比较麻烦,初学还是找个工程模板吧,方便点)

电路图:
在这里插入图片描述

三、编写代码

由于首次介绍这方面的知识,所以这篇文章的步骤都给了详细的截图,后面就会略过这些步骤了,首先在keil软件中打开我给的工程模板

在这里插入图片描述

选择工程文件,选择打开

在这里插入图片描述

找到main.c双击打开,页面如下

在这里插入图片描述

然后开始编写代码,代码如下(代码对应我gitee仓库中的Blink_LED文件,点击前往):

#include "stm32f10x.h"

int main(void)
{
  // 开启时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	// 初始化GPIO结构体
	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_7;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;  // 输出推挽模式
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
	
	GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	while(1){
		// 设置引脚为高电平(亮灯)
		GPIO_SetBits(GPIOB, GPIO_Pin_7);
		// 引脚输出低电平(熄灯)
		// GPIO_ResetBits(GPIOB, GPIO_Pin_7);
	}
	
}

接下来开始编译执行,编译成功:

在这里插入图片描述

然后点击下载:

在这里插入图片描述

如果第一次玩keil,可能会下载错误哈,如下图,这是因为还没配置好。

在这里插入图片描述

首先,点击锤子,配置:

在这里插入图片描述

进入配置页面后点击Debug,然后选择我们的ST-Link Debugger,点击OK。

在这里插入图片描述

然后重新点击下载,看到没问题就行了,如果还显示Erro就重启一下keil:

在这里插入图片描述

下载成功后按一下开发板上的复位键,就能看到LED灯亮起来了。

四、结束语

好了,stm32的基本使用先介绍到这,后续有时间我继续更新这方面的文章,敬请期待,我是“风行男孩”,咱有缘再见!(码字不易,转载请标明出处!若是文章有帮助,点个赞留个痕迹即可。)

更多推荐