2. 通用并行接口GPIO

本文深入探讨了通用并行接口GPIO的结构和寄存器,包括直接操作寄存器的软件设计,以及如何使用库函数来控制GPIO,特别提到了通过GPIO控制LCD的实例,详细介绍了LCM046液晶显示模块的接口和操作时序,以及初始化和显示处理的程序设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.  通用并行接口GPIO

  2.1 GPIO结构及寄存器说明

  2.2 GPIO设计实例

    2.2.1 直接操作寄存器软件设计

    2.2.2 使用库函数范例程序(v2.0.1)

    2.2.3 用GPIO控制LCD

 

2.1 GPIO结构及寄存器说明

  • GPIO包括多个16位I/O端口,每个端口可以独立设置3种输入方式和4种输出方式,并可独立地置位或复位
  • GPIO由寄存器、输入驱动器和输出驱动器等部分组成

  • GPIO通过7个32位寄存器进行操作

偏移地址

名称

类型

复位值

说明

0X00

CRL

读/写

0X44444444

配置寄存器低位(每个端口4位)

0X04

CRH

读/写

0X44444444

配置寄存器高位(每个端口4位)

0X08

IDR

0X0000

16位输入数据寄存器

0X0C

ODR

读/写

0X0000

16位输出数据寄存器

0X10

BSRR

0X00000000

位置位/复位寄存器

0X14

BRR

0X0000

位复位寄存器

0X18

LCKR

读/写

0X00000

配置锁定寄存器

  • 每个端口的4个配置位是CNF[1:0]和MODE[1:0]
CNF[1:0] MODE[1:0] 输入配置 CNF[1:0] MODE[1:0](2) 输出配置
00  00  模拟输入 00 01/10/11 通用推挽输出
01  00  浮空输入(复位状态) 01 01/10/11 通用开漏输出
10 00 上拉/下拉输入(1) 10 01/10/11 复用推挽输出
11  00 保留 11 01/10/11 复用开漏输出

注:(1)ODR = 1:上拉,ODR = 0;下拉

(2)01/10/11 依次对应最大输出频率为10MHz/2MHz/50MHz

 

2.2 GPIO设计实例

  • 系统包括Cortex-M3 CPU(内嵌SYSTick定时器)、存储器、2个按键接口和4个LED接口,实现用2个按键控制4个LED的流水显示方向,4个LED流水显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值