嵌入式开发笔记:STM32的外设GPIO知识学习

GPIO简介:

GPIO General Purpose Input Output )通用输入输出口
可配置为 8 种输入输出模式
引脚电平: 0V~3.3V ,部分引脚可容忍 5V (如舵机和驱动直流电机)
输出模式下可控制端口输出高低电平,用以驱动 LED 、控制蜂鸣器、模拟通信协议输出时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、 ADC 电压采集、模拟通信协议接收数据等

GPIO基本结构:

嵌入式开发笔记:STM32的外设GPIO知识学习_第1张图片


GPIO位结构:

嵌入式开发笔记:STM32的外设GPIO知识学习_第2张图片


GPIO模式:

提示:通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

模式名称

性质

特征

浮空输入

数字输入

可读取引脚电平,若引脚悬空,则电平不确定

上拉输入

数字输入

可读取引脚电平,内部连接上拉电阻,悬空时默认高电平

下拉输入

数字输入

可读取引脚电平,内部连接下拉电阻,悬空时默认低电平

模拟输入

模拟输入

GPIO无效,引脚直接接入内部ADC

开漏输出

数字输出

可输出引脚电平,高电平为高阻态,低电平接VSS

推挽输出

数字输出

可输出引脚电平,高电平接VDD,低电平接VSS

复用开漏输出

数字输出

由片上外设控制,高电平为高阻态,低电平接VSS

复用推挽输出

数字输出

由片上外设控制,高电平接VDD,低电平接VSS

浮空/上拉/下拉输入:

嵌入式开发笔记:STM32的外设GPIO知识学习_第3张图片 模拟输入:

嵌入式开发笔记:STM32的外设GPIO知识学习_第4张图片

开漏/推挽输出 :

嵌入式开发笔记:STM32的外设GPIO知识学习_第5张图片

复用开漏/推挽输出 

嵌入式开发笔记:STM32的外设GPIO知识学习_第6张图片

GPIO库函数 :

函数名 

描述

GPIO_DeInit
将外设 GPIOx 寄存器重设为缺省值
GPIO_AFIODeInit 
将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值
GPIO_Init 
根据 GPIO_InitStruct 中指定的参数初始化外设 GPIOx 寄存器
GPIO_StructInit
把 GPIO_InitStruct 中的每一个参数按缺省值填入
GPIO_ReadInputDataBit 
读取指定端口管脚的输入
GPIO_ReadInputData 
读取指定的 GPIO 端口输入
GPIO_ReadOutputDataBit 
读取指定端口管脚的输出
GPIO_ReadOutputData 
读取指定的 GPIO 端口输出
GPIO_SetBits
设置指定的数据端口位
GPIO_ResetBits 
清除指定的数据端口位
GPIO_WriteBit 
设置或者清除指定的数据端口位
GPIO_Write 
向指定 GPIO 数据端口写入数据
GPIO_PinLockConfig
锁定 GPIO 管脚设置寄存器
GPIO_EventOutputConfig
选择 GPIO 管脚用作事件输出
GPIO_EventOutputCmd
使能或者失能事件输出
GPIO_PinRemapConfig 
改变指定管脚的映射
GPIO_EXTILineConfig
选择 GPIO 管脚用作外部中断线路

你可能感兴趣的:(stm32,笔记,学习,stm32,嵌入式硬件,物联网)