《嵌入式系统》 |(五) 通用输入输出-GPIO 知识梳理

系列索引《嵌入式系统》 | 嵌入式系统 重点知识梳理



STM32 F103系列微控制器中GPIO端口特性

GPIO General Purpose Input / Output-通用输入输出,可以实现MCU与外部环境进行数字交换,通常电压 5V/3.3V
在这里插入图片描述
STM32F103微控制器的GPIO,可以提最供多112个多功能双向I/O引脚。这些I/O引脚依次分布在不同的端口中,80%的引脚利用率。

  • 几乎每个I/O引脚(ADC外)都兼容5V,每个I/O引脚具有20mA驱动能力
  • 每个I/O引脚最高18MHz的翻转速度,50MHz的输出速度;
  • 每个I/O引脚有8种工作模式,在复位时和刚复位后,复用功能未开启,I/O引脚被配置成浮空输入模式;
  • 所有I/O引脚都具备复用功能,包括TIMER、JTAG/SWD、USART、I2C、SPI等;
  • 某些复用功能引脚可通过复用功能重映射用另作一复用功能,方便PCB设计;
  • 所有I/O引脚都可作为外部中断输入,同时可以有16个中断输入;
  • 几乎每个I/O引脚(除端口F和G外)都可用作事件输出;
  • PA0可作为从待机模式唤醒的引脚,PC13可作为侵入检测的引脚;

GPIO的工作模式

在这里插入图片描述
给一个任务要知道GPIO工作模式
在这里插入图片描述

输出速度:
在这里插入图片描述

GPIO的引脚复用功能重映射(打开AFIO)

一个或几个引脚有一个以上的功能功能复用,用户根据实际需要可以把某些外设的“复用功能”从“默认引脚”转移到“备用引脚”上,这就是外设复用功能的I/O引脚重映射。

GPIO常用库函数(引脚的选择、工作模式、速度的设置及引脚的置位、复位与数据的读取)

所有GPIO引脚,使用前必须先打开其所属端口时钟

在这里插入图片描述

常用库函数

  • GPIO_Init:根据GPIO_InitStruct中指定的参数初始化GPIOx端口
  • GPIO_SetBits:将指定的GPIO端口的一个或多个指定引脚置位
  • GPIO_ResetBits:将指定的GPIO端口的一个或多个指定引脚复位
  • GPIO_ReadOutputDataBit:读取指定GPIO端口的指定引脚的输出值(1 bit)
  • GPIO_ReadInputDataBit:读取指定GPIO端口的指定引脚的输入值(1 bit)

GPIO初始化过程及使用方式

发布了33 篇原创文章 · 获赞 4 · 访问量 5061

猜你喜欢

转载自blog.csdn.net/qq_42967008/article/details/104768045