正点原子战舰v3笔记(0)GPIO寄存器配置介绍

本文介绍了GPIO寄存器的配置,包括GPIOA的GPIOx_CRL和GPIOx_CRH用于模式配置,GPIOx_IDR控制输入电平,GPIOx_ODR设定输出电平,GPIOx_BSRR和GPIOx_BRR用于设置和清除端口位,强调了在实时系统中使用这些寄存器的效率和便利性。

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

GPIOA 下有十六个 口 从pa0----pa15

在这里插入图片描述
每组GPIO口都有7个寄存器
如果你的设备有 7 组GPIO口 , 那么寄存器就有, 7 * 7 = 49个寄存器,
比如:GPIOA 有16个GPIO 那就是由这7个寄存器进行控制

在这里插入图片描述
GPIOx_CRL : 端口配置低寄存器 (模式配置) 配置 0–7 IO口的模式和速度
GPIOx_CRH : 端口配置高寄存器 (模式配置) 配置 8–15 IO口的模式和速度
为什么需要两组呢 ? 因为是32位的寄存器 ,一共只有32个位 ,但是我们配置每一个IO口, 32个位配置 16个io口, 每个IO口配置需要4个位 , 32 /4 = 8 一共寄存器最多控制8个,但是我们有16个口, 所以说 需要两个寄存器来控制 , 64位 / 4 =16 . GPIOx_CRL 控制 低位 8个, 0—7. GPIOx_CRH控制高位 8个, 8—15 .

每个IO口 由4个位来控制, 每一位分成两半 , 一半用来配置输入输出模式和速度, 一半用来配置到底是哪个模式, 低寄存器和高寄存器是一样的.
在这里插入图片描述

GPIOx_IDR : 端口输入数据寄存器 (控制IO口输出高低电频)
因为每一组IO 只有16个io口, 所以这个寄存器只用到 16位, 0—15 后面16位不用,是无效的,
第0位 对应 pa0 … 我们把这个位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值