您现在的位置: 主页 > MCU > 单片机应用 > STM32——GPIO设置:快速点亮第一个LED灯 -
本文所属标签:
为本文创立个标签吧:

STM32——GPIO设置:快速点亮第一个LED灯 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-11 

[导读]简介不同的开发板的原理图结构也不尽相同,笔者在这里使用野火的MINI-V3(F103VET6)简易开发板对GPIO口的设置做一个简单的介绍,并实现按键控制LED灯的亮灭。方便读者可以快速熟悉并灵活应用。原理图分析首先我们来

简介

不同的开发板的原理图结构也不尽相同,笔者在这里使用野火的MINI-V3(F103VET6)简易开发板对GPIO口的设置做一个简单的介绍,并实现按键控制LED灯的亮灭。方便读者可以快速熟悉并灵活应用。

本文引用地址: http://www.21ic.com/app/mcu/201809/780650.htm

原理图分析

首先我们来看一下发光二极管部分和按键部分的原理图。

下面是按键的原理图部分:

在这里,我们将使用KEY1(PA0)来控制红灯PB5的亮灭。由原理图可知,其控制LED灯的PB5引脚为低电平时,灯亮。当KEY1按下时,PA0引脚由之前的低电平转为高电平(3V3)。明确了目的之后我们就可以分析GPIO口并进行设置了。

GPIO设置

经过上述的功能明确之后,我们将其分为两大类,分别是输入类(如按键)和输出类(LED灯)。
STM32系列单片机的引脚有着丰富的功能,在这里将其芯片的GPIO口部分的结构图放出,有兴趣的朋友可自行研究或在评论区留言讨论。在这里笔者将不再讲解时钟树的相关内容,以免对初学者造成较大压力,有兴趣的朋友可自行参考官方文档。

输入输出模式

GPIO的输入、输出种类详见下表。

功能名称简述输入上拉输入(GPIO_Mode_IPU)默认状态下(引脚无输入),读得的数据为1,高电平输入下拉输入(GPIO_Mode_IPD)与上拉输入相反,默认为0,低电平输入浮空输入(GPIO_Mode_IN_FLOATING)输入不确定,无上拉和下拉。输入阻抗较大,一般用于标准通信协议如I2C、USART的接收端输入模拟输入模式(GPIO_Mode_AIN)一般由ADC采集电压信号时将其设置为模拟输入。输出普通推挽输出(GPIO_Mode_Out_PP)输出电平为3.3V输出普通开漏输出(GPIO_Mode_Out_OD)若要输出5V,则需外加上拉电阻,电源为5V。输出为高阻态时,由上拉电阻和电源向外输出5V的高电平输出复用推挽输出(GPIO_Mode_AF_PP)引脚复用功能采用复用模式输出复用开漏输出(GPIO_Mode_AF_OD)复用模式,且加入上拉电阻

由上表可知,我们需要将LED灯的引脚设置为推挽输出。按键部分的输入可以是上拉输入也可以是下拉输入。在这里,因为我们的电路原理图设置的是按键按下为高,释放为低。所以我们使用下拉输入的模式 。

结构体设置

STM32以高效的库函数开发而著称。由于其寄存器过多,不适合类似51系列单片机的寄存器操作,所以我们将直接采用库函数开发的方法(CMSIS 3.5.0版本)。

STM32的库函数将结构体的功效发挥到了极致,我们首先来看一下GPIO口的结构体定义:

typedefstruct{uint16_tGPIO_Pin;/*!
			
              查看评论 回复



嵌入式交流网主页 > MCU > 单片机应用 > STM32——GPIO设置:快速点亮第一个LED灯 -
 

"STM32——GPIO设置:快速点亮第一个LED灯 -"的相关文章

围观()