访问电脑版页面

导航:老古开发网手机版STM32单片机STM32单片机的GPIO

STM32之GPIO输入输出

导读:GPIO的输出背景:应用在点亮LED。LED串联电阻再上拉,另一端与GPIO口相连。因此,GPIO输出高电平则LED灭,输出低电平则LED亮。第一步工作是初始化GPIO,使能外设时钟,因为GPIO是挂载在APB2中线上的。然后对GPIO_Ini
关键字:
gpio,STM32,输入输出,

GPIO的输出

背景:应用在点亮LED。LED串联电阻再上拉,另一端与GPIO口相连。因此,GPIO输出高电平则LED灭,输出低电平则LED亮。

第一步工作是初始化GPIO,使能外设时钟,因为GPIO是挂载在APB2中线上的。然后对GPIO_InitTypeDef结构体进行初始化,设置GPIO_Pin的具体引脚,输出频率,工作模式,如上拉,下拉,浮空等。

关于GPIO的库函数里有GPIO_SetBit( )和GPIO_ResetBits ( )两个函数,分别是设置指定的数据端口位和清除指定的数据端口位,就像置1和清零。

函数名 : GPIO_SetBits
函数原形: void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
功能描述: 设置指定的数据端口位
输入参数1: GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设
输入参数2: GPIO_Pin:待设置的端口位 。该参数可以取GPIO_Pin_x(x 可以是 0-15)的任意组合 ,如GPIO_Pin_10 | GPIO_Pin_15

函数GPIO_ResetBits 的原型为void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin),其参数的含义和上面也是类似的。

因此,点亮一个LDE灯变成调用函数

GPIO_ResetBits(GPIOx,GPIO_Pin_x); 输出低电平点亮

熄灭一个LED灯变成

GPIO_SeBits(GPIOx,GPIO_Pin_x); 输出高电平熄灭


GPIO输入

当GPIO连接了外部传感器,而传感器的信号是开关量的时候,GPIO可能需要去轮询输入的状态是高是低,这时候GPIO就需要当做输入来用。

按键的动作可以用来模拟传感器的动作,按键通过上拉电阻接到高电平。当按键按下时,会使相应的GPIO管脚变成低电平。配置这些GPIO引脚为上拉模式,在没有收到信号的情况下,保持这些GPIO口为高电平。

GPIO的库函数也为我们提供了读取某指定端口管脚的输入--GPIO_ReadInputDataBit 正是这样一个函数

函数名 GPIO_ReadInputDataBit
函数原形 u8 GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
功能描述 读取指定端口管脚的输入
输入参数1 GPIOx :x 可以是A,B ,C ,D 或者E,来选择GPIO外设
输入参数2 GPIO_Pin:待读取的端口位

返回值 输入端口管脚值,高或者低

u8 ReadValue;

ReadValue = GPIO_ReadInputDataBit(GPIOx, GPIO_Pin_x);

返回值ReadValue反应了GPIO口的高低状态。


来源:互联网   作者:karen  2018/11/26 15:40:01
栏目: [ STM32单片机的GPIO]

相关阅读

STM32单片机的GPIO模式解析

一文看懂stm32的引脚的两种用途:GPIO和AFIO

stm32单片机GPIO端口的特点及应用解析

STM32单片机的八种IO口模式解析

如何将STM32单片机的PA15设置为上拉输入模式

如何将STM32单片机的JTAG口作为GPIO使用

STM32学习笔记1 IO口学习

STM32单片机的上拉电阻配置为上拉输入模式的方法

STM32单片机对共阳数码管输出计数的设计

stm32的IO模式具体意义

基于STM32单片机流水灯控制中的GPIO_Init()函数解析

STM32单片机GPIO口的工作模式解析

STM32单片机GPIO寄存器的功能解析

stm32 IO口模式的寄存器配置

基于单片机STM32 GPIO 基本简单操作函数教程

STM32单片机的复用端口初始化的步骤及方法

关于STM32中的位带(bit-band)操作说明

STM32单片机的重映射与地址映射的使用方法及步骤

基于STM32单片机对跑马灯的控制

基于STM32的八种GPIO输入输出模式解析