一、GPIO的基本概念及寄存器介绍
1.1 GPIO接口简介
通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。
GPIO引脚如果是输入模式,就可以感知这条线路的高低电平变化,从而判断按键是按下还是抬起
GPIO引脚如果是输出模式,就可以向这条线路发送高低电平,从而使LED灯点亮或熄灭。
1.2 GPIO功能复用
注:查看 《 STM32F0数据手册》
1.3 GPIO寄存器介绍
STM32F051-GPIO常用寄存器
4个32位配置寄存器
GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR GPIOx_PUPDR
2个32位数据寄存器
GPIOx_IDR 、GPIOx_ODR
1 个32 位置位 / 复位寄存器
GPIOx_BSRR
2 个 32 位复用功能配置寄存器
GPIOx_AFRH 、GPIOx_AFRL
注:每一组GPIO端口都有一套上述的寄存器去配置它自己的功能
GPIO寄存器MODER
GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F)
偏移地址: 0x00
复位值:
● 0x2800 0000 端口 A
● 0x0000 0000 其他口
GPIO寄存器OTYPER