GPIO的基本概念及寄存器介绍
GPIO接口简介
通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。
STM32芯片的 GPIO 被分成很多组,每组最多有 16个引脚,如型号为 STM32F407IGT6 型号的芯片有GPIOA、GPIOB、GPIOC 至 GPIOI共 9组 GPIO,芯片一共176 个引脚,其中 GPIO就占了一大部分,所有的 GPIO引脚都有基本的输入输出功能。
注:查看《 STM32F4数据手册》3章Figure13,可查询STM32芯片管脚排布
GPIO功能复用
注:查看《 STM32F4数据手册》3.6节,可查询每个管脚支持的功能
GPIO寄存器介绍
STM32F4-GPIO常用寄存器
4个32位配置寄存器
GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDRGPIOx_PUPDR
2个32位数据寄存器
GPIOx_IDR 、GPIOx_ODR
1 个32 位置位 / 复位寄存器
GPIOx_BSRR
2 个 32 位复用功能配置寄存器
GPIOx_AFRH 、GPIOx_AFRL
注:每一组GPIO端口都有一套上述的寄存器去配置它自己的功能
GPIO寄存器MODER
GPIO寄存器OTYPER
GPIO工作原理框图
GPIO寄存器OSPEEDR
GPIO寄存器PUPDR
GPIO寄存器IDR
GPIO寄存器ODR
GPIO寄存器BSRR
GPIO寄存器AFRL
GPIO寄存器AFRH
照亮电子世界的那盏灯——LED寄存器版
照亮电子世界的那盏灯——LED库函数版