STM32 GPIO

GPIO的基本概念及寄存器介绍

GPIO接口简介

通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此GPIO的作用和功能是非常重要的。

GPIO功能复用

GPIO的基本功能是普通的I/O,而STM32有自己的各个功能模块,这些内置外设的外部引脚是与标准GPIO复用的,当作为这些模块的功能引脚时 ,就叫复用。
在这里插入图片描述

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),共32位,每两位为一组分别对应0-15引脚。偏移地址0x00
在这里插入图片描述
在这里插入图片描述

GPIO寄存器OTYPER

GPIO端口输出类型寄存器(GPIOx_OTYPER)偏移地址0x04
在这里插入图片描述
在这里插入图片描述
简单理解什么是推挽输出和开漏输出,推挽输出时可以输出高电平和低电平,开漏输出只能输出低电平。
在这里插入图片描述

GPIO寄存器OSPEEDR

GPIO 口输出速度寄存器 (GPIOx_OSPEEDR),偏移地址0x08。
在这里插入图片描述
在这里插入图片描述

GPIO寄存器PUPDR

GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) ,偏移地址: 0x0C
在这里插入图片描述
在这里插入图片描述

GPIO寄存器IDR

GPIO 端口输入数据寄存器 (GPIOx_IDR) ,偏移地址: 0x10。
在这里插入图片描述
在这里插入图片描述

GPIO寄存器ODR

GPIO 端口输出数据寄存器 (GPIOx_ODR) 偏移地址: 0x14。
在这里插入图片描述
在这里插入图片描述

GPIO寄存器BSRR

GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR),偏移地址: 0x18。
在这里插入图片描述
在这里插入图片描述

GPIO寄存器AFRL

GPIO 复用功能低位寄存器 (GPIOx_AFRL), 偏移地址: 0x20。
在这里插入图片描述
在这里插入图片描述

GPIO寄存器AFRH

GPIO 复用功能高位寄存器 (GPIOx_AFRH),偏移地址: 0x24
在这里插入图片描述
在这里插入图片描述

点灯

硬件原理图分析

在这里插入图片描述
在这里插入图片描述

编程步骤分析

在这里插入图片描述

使能GPIO的时钟

在这里插入图片描述
AHB 外部时钟使能寄存器 (RCC_AHBENR),偏移地址 : 0x14
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值