每组GPIO端口的寄存器

32位寄存器,范围:0......31。

每组GPIO端口(16个IO口)有10组寄存器:


1)GPIOx_MODER端口模式寄存器32位配置寄存器2(每个IO口占用位数)

每个IO口占用两位,控制端口x,通过寄存器2x,2x+1两位

00:输入(复位状态)

01:通用输出模式

11:模拟模式



2)  GPIOx_OTYPER端口输出类型寄存器 32位配置寄存器1

每个IO口占用1位,使用低16位,高16位保留不用。

0 :输出推挽(复位状态)

1 : 输出开漏



3)  GPIOx_OSPEEDR端口输出速度寄存器 32位配置寄存器2

00:2MHZ

01:25MHZ

10:50MHZ

11:30pF时为100MHZ,15pF时为80MHZ



4)  GPIOX_PUPDR端口上下拉寄存器 32位配置寄存器2

00:无上拉或下拉

01:上拉

10:下拉

11:保留



5)  GPIOx_IDR端口输入数据寄存器 32位数据寄存器1

使用低16位,为只读形式,只能在字模式下访问。



6)  GPIOx_ODR端口输出数据寄存器32位数据寄存器1

使用低16位,

1:高电平

0:低电平



7)  GPIOx_BSRR端口置位/复位寄存器32位数据寄存器5和6的综合,比较好用)

BSRR寄存器32位分为低16位BSRRL(配置一组IO口的16个IO口的置位状态:1)

 高6位BSRRH(配置一组IO口的16个IO口的置位状态:0).



8)  GPIOX_LCKR端口配置锁寄存器


9)  GPIOx_AFRL      复位功能寄存器//9和10用于配置串口(端口复用功能:最大限度地使用IO口资源)


10)GPIOx_AFRH  复位功能寄存器

1.如果配置一个IO口需要2个位,则刚好32位寄存器配置一组IO口,16个IO口。

2.如果配置一个IO口需要1个位,则一般使用低16位,保留高16位。

3.所有IO口都可以作为中断输入。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值