11.10.3. 寄存器定义
地址映射
模块名 |
基地址 |
地址空间 |
---|---|---|
GPIO |
0x18700000 |
4KB |
寄存器列表
寄存器名 |
偏移地址 |
寄存器功能描述 |
---|---|---|
GEN_IN_STA |
0x00+G*0x100 |
通用输入状态寄存器 |
GEN_OUT_CFG |
0x04+G*0x100 |
通用输出控制寄存器 |
GEN_IRQ_EN |
0x08+G*0x100 |
通用中断使能寄存器 |
GEN_IRQ_STA |
0x0C+G*0x100 |
通用中断状态寄存器 |
GEN_OUT_CLR |
0x10+G*0x100 |
通用输出清除寄存器 |
GEN_OUT_SET |
0x14+G*0x100 |
通用输出置位寄存器 |
GEN_OUT_TOG |
0x18+G*0x100 |
通用输出反转寄存器 |
PIN_CFG |
0x80+G*0x100+P*0x4 |
功能配置寄存器 |
VERSION |
0xFFC |
版本寄存器 |
其中,P和G取值范围如下:
分组 |
偏移地址 |
G取值 |
P取值 |
基地址 |
---|---|---|---|---|
PA |
0x000 |
0 |
0~15 |
0x18700000 |
PB |
0x100 |
1 |
0~17 |
0x18700100 |
PC |
0x200 |
2 |
0~11 |
0x18700200 |
PD |
0x300 |
3 |
0~27 |
0x18700300 |
PE |
0x400 |
4 |
0~17 |
0x18700400 |
PU |
0xE00 |
14 |
0~1 |
0x18700E00 |
11.10.4. 寄存器描述
11.10.4.1. 0x00+G*0x100 GEN_IN_STA
默认值:0x00000000 |
GPIO通用输入状态寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x0 |
IN_STA
引脚输入状态
0: 表示输入为低电平
1: 表示输入为高电平
每位对应一个引脚
该寄存器在PIN_FUN=1 & GEN_IN_EN=1有效
在PIN_FUN=2~6 & SPE_IN_EN=1有效
|
11.10.4.2. 0x04+G*0x100 GEN_OUT_CFG
默认值:0x00000000 |
GPIO通用输出控制寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
OUT_CFG
引脚输出配置
0: 输出设置为低电平
1: 输出设置为高电平
每位对应一个引脚
该寄存器只有在PIN_FUN=1 & GEN_OUT_EN=1才有效
|
11.10.4.3. 0x08+G*0x100 GEN_IRQ_EN
默认值:0x00000000 |
GPIO通用中断使能寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
IRQ_EN
引脚中断使能
0: 关闭
1: 使能
该寄存器只有在PIN_FUN=1 & GEN_IN_EN=1才有效
|
11.10.4.4. 0x0C+G*0x100 GEN_IRQ_STA
默认值:0x00000000 |
GPIO通用中断状态寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W1C |
0x0 |
IRQ_STA
引脚中断状态
0: 无中断
1: 有中断
该寄存器只有在PIN_FUN=1 & GEN_IN_EN=1 & IRQ_EN=1才有效
|
11.10.4.5. 0x10+G*0x100 GEN_OUT_CLR
默认值:0x00000000 |
GPIO通用输出清除寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W1C |
0x0 |
OUT_CFG_CLR
输出控制寄存器清除
0: 对应位保持不变
1: 对应位清除为零
|
11.10.4.6. 0x14+G*0x100 GEN_OUT_SET
默认值:0x00000000 |
GPIO通用输出置位寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W1C |
0x0 |
OUT_CFG_SET
输出控制寄存器置位
0: 对应位保持不变
1: 对应位设置为一
|
11.10.4.7. 0x18+G*0x100 GEN_OUT_TOG
默认值:0x00000000 |
GPIO反转寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W1C |
0x0 |
OUT_CFG_TOG
输出控制寄存器置位
0: 对应位保持不变
1: 对应位设置为一
|
11.10.4.8. 0x80+P*0x4+G*0x100 PIN_CFG
默认值:PA8~11 0x00000338 |
GPIO引脚功能配置寄存器 |
||
---|---|---|---|
默认值:PB12~17 0x00000338 |
|||
默认值:OTHERS 0x00000000 |
|||
位域 |
类型 |
默认值 |
描述 |
31:28 |
R/W |
0x0 |
GEN_IN_DB1_POINT
通用输入第二级去抖参考点数
该配置值为去抖采样点数,配置为0则关闭本级去抖。
此字段只有在PIN_FUN=1 & GEN_IE=1才有效
|
27:24 |
R/W |
0x0 |
GEN_IN_DB1_SAMP
通用输入第二级去抖采样除频
第二级去抖采样周期为2^(SAMP+1)个APB1时钟(100MHz)周期。
此字段只有在PIN_FUN=1 & GEN_IE=1才有效
|
23:20 |
R/W |
0x0 |
GEN_IN_DB0_POINT
通用输入第一级去抖采样点数
第一级去抖采样周期为1个APB1时钟(100MHz)周期;
该配置为去抖采样点数,配置为0则关闭本级去抖。
此字段只有在PIN_FUN=1 & GEN_IE=1才有效
|
19 |
- |
- |
-
|
18 |
R/W |
0x0 |
SPE_IE_FORCE
专用功能输入强制使能
0: 关闭
1: 打开
此字段只有在PIN_FUN=2~6才有效,用于调试使用,强制使能输入,
并将输入状态存到“通用输入状态寄存器”
|
17 |
R/W |
0x0 |
GEN_OE
通用功能输出使能
0: 关闭
1: 打开
此字段只有在PIN_FUN=1才有效
|
16 |
R/W |
0x0 |
GEN_IE
通用功能输入使能
0: 关闭
1: 打开
此字段只有在PIN_FUN=1才有效
|
15 |
- |
- |
-
|
14:12 |
R/W |
0x0 |
GEN_IRQ_MODE
通用功能中断检测模式
0: 下降沿
1: 上升沿
2: 低电平
3: 高电平
4: 双沿(上升沿或下降沿)
5~7: 预留
此字段只有在PIN_FUN=1 & GEN_IE=1才有效
|
11:10 |
- |
- |
-
|
9:8 |
R/W |
PA8~11 :3
PB12~17:3
OTHERS :0
|
PIN_PULL
引脚上下拉设置
0: 关闭
1: 预留
2: 下拉33KΩ到GND
3: 上拉33KΩ到VCC-IO
|
7 |
- |
- |
-
|
6:4 |
R/W |
PA8~11 :3
PB12~17:3
OTHERS :0
|
PIN_DRV
引脚输出驱动能力
3.3V 1.8V
0: 180Ω 300Ω
1: 90Ω 150Ω
2: 60Ω 100Ω
3: 45Ω 75Ω
4: 36Ω 60Ω
5: 30Ω 50Ω
6: 26Ω 43Ω
7: 23Ω 38Ω
|
3:0 |
R/W |
PA8~11 :8
PB12~17:8
OTHERS :0
|
PIN_FUN
引脚功能设置
0: 关闭
1: 通用功能(GEN)
2~8: 专用功能(SPE),参考 “引脚复用” 章节
注意该寄存器选择I/IE/O/OE信号,
其他信号如PLL/DRV不受该寄存器影响
|
11.10.4.9. 0xFFC VERSION
默认值:0x00000100 |
GPIO版本寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x00000100 |
VERSION
GPIO版本 V1.00
|