提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、GPIO简介
GPIO(General Purpose Input Output)通用输入输出口,可配置为八种输入输出模式,引脚电平为0V~3.3V(部分引脚可容忍5V)。STM32芯片的GPIO被分成很多组,每组有16个引脚,所有的GPIO引脚都有基本的输入输出功能
输出模式下可控制端口输出高低电平,以驱动LED ,控制蜂鸣器,模拟通信协议输出时序(I2C,SPI)等。
输入模式下可读取端口的高低电平或电压,以读取按键输入,外接模块电平信号输入,ADC电压采集,模拟通信协议接收数据等。
二、基本结构
图一(系统结构图)
如图所示,所有的GPIO都是挂载在APB2外设总线上的。(所以在使用GPIO时使用APB2相关的函数)
如 void RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE );
图二
GPIO外设的名称按照GPIOA,GPIOB,GPIOC等命名。
每个GPIO都有16个引脚
寄存器是特殊的储存器,内核通过APB2总线对寄存器进行读写,完成输出读写电平的功能。
(stm32是32位的单片机,每个寄存器都有32位,但端口只有16位,此寄存器只有低16位有对应端口)
图三