资讯详情

1.STM32F103-点亮第一颗LED

在这里插入图片描述

大家好,我来介绍一下原理图。第一张图是。LED灯的原理图,第二张是我的单片机原理图。

这是一个发光的二极管的位置是,没有竖线的位置是,淘宝上买的贴片二极管;R92为2K电阻,它起作用避免二极管的作用二极管;LED正极直接连接到3.3V电压供电后,通过限流电阻限流后,将二极管所需的电流传递给LED,电流从LED正极流向负极,然后点亮LED。

对应开发板,我们只需要给他输出一个就能这颗LED灯。接下来,我会通过编写程序来点亮这个LED。

打开工程文件,创建和l新建两份文件并把文件夹led.c和led.h里面保存了两个文件。

下面我们将添加文件路径。

添加文件路径后,我们会led.c将文件添加到项目中,然后我们就可以了led.c和led.h在文件中编写我们的代码。

第一步是系统预处理led.h将以下代码写入文件中,然后点击保存,记得留下这个新行,否则编译器会有警告。

#ifndef __LED_H #define __LED_H  #include "sys.h"  #endif  

第一,二行代码是指如果系统中没有名称led.h我们将定义它的头文件。 #include “sys.h” 它包含们用的gpio.h和rcc.h当我们定义时钟和引脚时,将使用此类文件。 接下来我们在led.c在文件中编写代码。在第一行中,我们首先引用头文件led.h,然后我们创建函数:void LED_UserCongif(void)我们将在这个函数中进行{}gpio一些相关的引脚配置。当我们取函数名称时,我们应该取一些易于理解的名称,以便于我们理解。

void LED_UserConfig(void){} 

首先引用一个结构:

GPIO_InitTypeDef  GPIO_InitStructure;我们可以把它理解为 char c; 

以下是一些参数的配置,打开固件库手册,我们可以看到我们引用的GPIO_InitTypeDef结构体定义为件stm32f10x_gpio.h前面我们引用sys.h该文件包含在头文件中;GPIO_InitTypeDef它在结构体中传递了三个成员值,第一个为u16类型的GPIO_Pin,第二个位GPIO的速率,第三个为GPIO的模式。

以下是使用方法:

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//选择PA11引脚 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;//选择2MHz速率 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推拉输出模式 GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化

在我们的固件库手册中有一个使用例子,我们可以按照这个例子编写即可

完成这个操作之后我们需要,不开外设时钟的话它是

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使用GPIOA它搭载在APB2总线上

在手册里是关于这个时钟的介绍,感兴趣的可以自己查看

最后通过另外一个函数,它可以对引脚进行

GPIO_ResetBits(GPIOA,GPIO_Pin_11);

在手册中我们可以查看这个函数的说明和使用过程

把我们定义的函数在led.h中,不声明的话是

void LED_UserConfig(void);

最后把这个函数放到main函数中,同时在main函数中led.h头文件

#include "sys.h"
#include "led.h"

 int main(void)
 { 
       		
 	
	LED_UserConfig();

 }

点击编译,没有出现错误,利用Stlink把程序下载到单片机里,就可以看到开发板上的led处于点亮状态了。 有用的话,留个赞👍再走吧!!

链接:https://pan.baidu.com/s/1ao4wYBzecYyZLE_rICUEzQ 提取码:5dfi –来自百度网盘超级会员V3的分享

标签: 2k1贴片电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台