7. 通用 I/O (GPIO)
7.1. 概述
通用输入输出模块(GPIO)主要功能包括数据控制、中断控制等功能。
SWM221 系列所有型号GPIO操作均相同,使用前需使能对应GPIO模块时钟。
7.2. 特性
每个 IO 均支持位带功能
每个IO均可触发中断
中断触发条件可配置,支持电平触发/边沿触发
电平触发支持高电平/低电平
边沿触发中断可配置为上升沿/下降沿/双边沿触发
每个 IO 均支持上拉/下拉/推挽/开漏功能
7.3. 功能描述
7.3.1. 数据控制
GPIO方向寄存器(DIRx)用来将每个独立的管脚配置为输入模式或者输出模式:
当数据方向设为0时,GPIO对应引脚配置为输入
通过读取相应数据寄存器(IDRx)对应位或对应 DATAPINx 寄存器获取指定GPIO端口当前状态值
当数据方向设为1时,GPIO对应引脚配置为输出
通过向对应端口数据寄存器(ODRx)对应位或对应DATAPINx寄存器写入值改变指定引脚输出,0输出低电平,1输出高电平。 DATAPINx 寄存器可以直接控制对应端口,对其他端口无影响,无需经过读后写。
GPIOA/GPIOB/GPIOC 端口为 AHB IO,挂载于AHB总线,对于读取和写入操作,均为命令发出后的1个周期完成。
7.3.2. 中断控制与清除
可根据需求将 GPIO 端口对应引脚配置为中断模式,并通过相关寄存器配置中断极性及触发方式。触发方式分为边沿触发和电平触发两种模式。
对于边沿触发中断,可以设置为上升沿触发,下降沿触发或双边沿触发。中断发生后,标志位具备保持特性,必须通过软件对中断标志位进行清除。
对于电平触发中断,当外部引脚输入为指定电平时,中断发生。当电平翻转后,中断信号消失,无需软件进行清除。 使用电平触发中断,需保证外部信号源保持电平稳定,以便有效中断电平能被端口识别。
使用以下寄存器来对产生中断触发方式和极性进行定义:
GPIO中断触发条件寄存器(INTLVLTRG),用于配置电平触发或边沿触发
GPIO中断触发极性寄存器(INTRISEEN),用于配置电平或边沿触发极性
GPIO中断边沿触发配置寄存器(INTBE),选择为边沿触发后,用于配置单边沿触发或双边沿触发
通过GPIO中断使能寄存器(INTEN)可以使能或者禁止相应端口对应位中断,GPIO原始中断状态(INTRAWSTAUS)不受使能位影响。
当产生中断时,可以在GPIO原始中断状态(RAWINTSTAUS)获取中断信号的状态。 当中断使能寄存器(INTEN)对应位为1时,中断状态(INTSTAUS)寄存器可读取到对应中断信号,且中断信号会进入中断配置模块及NVIC模块,执行中断程序。
通过写1到GPIO中断清除寄存器(INTCLR)指定位可以清除相应位中断。
7.4. 寄存器映射
名称 |
偏移 |
复位值 |
---|---|---|
GPIOA BASE:0x40003800 GPIOB BASE:0x40004000 GPIOC BASE:0x40004800 |
||
ODR |
0x00 |
0x00000000 |
DIR |
0x04 |
0x00000000 |
INTLVLTRG |
0x08 |
0x00000000 |
INTBE |
0x0c |
0x00000000 |
INTRISEEN |
0x10 |
0x00000000 |
INTEN |
0x14 |
0x00000000 |
INTRAWSTAT |
0x18 |
0x00000000 |
INTSTAT |
0x1c |
0x00000000 |
INTCLR |
0x20 |
0x00000000 |
IDR |
0x30 |
0x00000000 |
DATAPINn (n = 0 .. 15) |
0x40 + (n * 0x4) |
0x0000xxxx |
7.5. 寄存器描述
7.5.1. GPIOx写数据寄存器ODR
偏移: 0x00 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚数据写寄存器位 |
14 |
PIN14 |
R/W |
Px14引脚数据写寄存器位 |
13 |
PIN13 |
R/W |
Px13引脚数据写寄存器位 |
12 |
PIN12 |
R/W |
Px12引脚数据写寄存器位 |
11 |
PIN11 |
R/W |
Px11引脚数据写寄存器位 |
10 |
PIN10 |
R/W |
Px10引脚数据写寄存器位 |
9 |
PIN9 |
R/W |
Px9引脚数据写寄存器位 |
8 |
PIN8 |
R/W |
Px8引脚数据写寄存器位 |
7 |
PIN7 |
R/W |
Px7引脚数据写寄存器位 |
6 |
PIN6 |
R/W |
Px6引脚数据写寄存器位 |
5 |
PIN5 |
R/W |
Px5引脚数据写寄存器位 |
4 |
PIN4 |
R/W |
Px4引脚数据写寄存器位 |
3 |
PIN3 |
R/W |
Px3引脚数据写寄存器位 |
2 |
PIN2 |
R/W |
Px2引脚数据写寄存器位 |
1 |
PIN1 |
R/W |
Px1引脚数据写寄存器位 |
0 |
PIN0 |
R/W |
Px0引脚数据写寄存器位 |
7.5.2. GPIOx方向寄存器DIR
偏移: 0x04 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚方向寄存器位 1:输出 0:输入 |
14 |
PIN14 |
R/W |
Px14引脚方向寄存器位 1:输出 0:输入 |
13 |
PIN13 |
R/W |
Px13引脚方向寄存器位 1:输出 0:输入 |
12 |
PIN12 |
R/W |
Px12引脚方向寄存器位 1:输出 0:输入 |
11 |
PIN11 |
R/W |
Px11引脚方向寄存器位 1:输出 0:输入 |
10 |
PIN10 |
R/W |
Px10引脚方向寄存器位 1:输出 0:输入 |
9 |
PIN9 |
R/W |
Px9引脚方向寄存器位 1:输出 0:输入 |
8 |
PIN8 |
R/W |
Px8引脚方向寄存器位 1:输出 0:输入 |
7 |
PIN7 |
R/W |
Px7引脚方向寄存器位 1:输出 0:输入 |
6 |
PIN6 |
R/W |
Px6引脚方向寄存器位 1:输出 0:输入 |
5 |
PIN5 |
R/W |
Px5引脚方向寄存器位 1:输出 0:输入 |
4 |
PIN4 |
R/W |
Px4引脚方向寄存器位 1:输出 0:输入 |
3 |
PIN3 |
R/W |
Px3引脚方向寄存器位 1:输出 0:输入 |
2 |
PIN2 |
R/W |
Px2引脚方向寄存器位 1:输出 0:输入 |
1 |
PIN1 |
R/W |
Px1引脚方向寄存器位 1:输出 0:输入 |
0 |
PIN0 |
R/W |
Px0引脚方向寄存器位 1:输出 0:输入 |
7.5.3. GPIOx中断触发条件寄存器INTLVLTRG
偏移: 0x08 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
14 |
PIN14 |
R/W |
Px14引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
13 |
PIN13 |
R/W |
Px13引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
12 |
PIN12 |
R/W |
Px12引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
11 |
PIN11 |
R/W |
Px11引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
10 |
PIN10 |
R/W |
Px10引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
9 |
PIN9 |
R/W |
Px9引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
8 |
PIN8 |
R/W |
Px8引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
7 |
PIN7 |
R/W |
Px7引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
6 |
PIN6 |
R/W |
Px6引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
5 |
PIN5 |
R/W |
Px5引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
4 |
PIN4 |
R/W |
Px4引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
3 |
PIN3 |
R/W |
Px3引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
2 |
PIN2 |
R/W |
Px2引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
1 |
PIN1 |
R/W |
Px1引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
0 |
PIN0 |
R/W |
Px0引脚中断敏感条件寄存器位 1:电平检测 0:边沿检测 |
7.5.4. GPIOx中断沿触发配置寄存器INTBE
偏移: 0x0c |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
14 |
PIN14 |
R/W |
Px14引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
13 |
PIN13 |
R/W |
Px13引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
12 |
PIN12 |
R/W |
Px12引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
11 |
PIN11 |
R/W |
Px11引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
10 |
PIN10 |
R/W |
Px10引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
9 |
PIN9 |
R/W |
Px9引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
8 |
PIN8 |
R/W |
Px8引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
7 |
PIN7 |
R/W |
Px7引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
6 |
PIN6 |
R/W |
Px6引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
5 |
PIN5 |
R/W |
Px5引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
4 |
PIN4 |
R/W |
Px4引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
3 |
PIN3 |
R/W |
Px3引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
2 |
PIN2 |
R/W |
Px2引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
1 |
PIN1 |
R/W |
Px1引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
0 |
PIN0 |
R/W |
Px0引脚中断沿触发配置寄存器位 1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断 0:相应位为单边沿触发中断,由INTRISEEN寄存器相应位确定是上升沿/下降沿触发 |
7.5.5. GPIOx中断触发极性寄存器INTRISEEN
偏移: 0x10 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
14 |
PIN14 |
R/W |
Px14引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
13 |
PIN13 |
R/W |
Px13引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
12 |
PIN12 |
R/W |
Px12引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
11 |
PIN11 |
R/W |
Px11引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
10 |
PIN10 |
R/W |
Px10引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
9 |
PIN9 |
R/W |
Px9引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
8 |
PIN8 |
R/W |
Px8引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
7 |
PIN7 |
R/W |
Px7引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
6 |
PIN6 |
R/W |
Px6引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
5 |
PIN5 |
R/W |
Px5引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
4 |
PIN4 |
R/W |
Px4引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
3 |
PIN3 |
R/W |
Px3引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
2 |
PIN2 |
R/W |
Px2引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
1 |
PIN1 |
R/W |
Px1引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
0 |
PIN0 |
R/W |
Px0引脚中断事件寄存器位 1:上升沿/高电平触发中断 0:下降沿/低电平触发中断 |
7.5.6. GPIOx中断使能寄存器INTEN
偏移: 0x14 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
R/W |
Px15引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
14 |
PIN14 |
R/W |
Px14引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
13 |
PIN13 |
R/W |
Px13引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
12 |
PIN12 |
R/W |
Px12引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
11 |
PIN11 |
R/W |
Px11引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
10 |
PIN10 |
R/W |
Px10引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
9 |
PIN9 |
R/W |
Px9引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
8 |
PIN8 |
R/W |
Px8引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
7 |
PIN7 |
R/W |
Px7引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
6 |
PIN6 |
R/W |
Px6引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
5 |
PIN5 |
R/W |
Px5引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
4 |
PIN4 |
R/W |
Px4引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
3 |
PIN3 |
R/W |
Px3引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
2 |
PIN2 |
R/W |
Px2引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
1 |
PIN1 |
R/W |
Px1引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
0 |
PIN0 |
R/W |
Px0引脚中断使能寄存器位 1:相应位为中断使能 0:相应位为中断禁止 |
7.5.7. GPIOx原始中断状态寄存器INTRAWSTAT
偏移: 0x18 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
RO |
Px15引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
14 |
PIN14 |
RO |
Px14引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
13 |
PIN13 |
RO |
Px13引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
12 |
PIN12 |
RO |
Px12引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
11 |
PIN11 |
RO |
Px11引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
10 |
PIN10 |
RO |
Px10引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
9 |
PIN9 |
RO |
Px9引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
8 |
PIN8 |
RO |
Px8引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
7 |
PIN7 |
RO |
Px7引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
6 |
PIN6 |
RO |
Px6引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
5 |
PIN5 |
RO |
Px5引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
4 |
PIN4 |
RO |
Px4引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
3 |
PIN3 |
RO |
Px3引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
2 |
PIN2 |
RO |
Px2引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
1 |
PIN1 |
RO |
Px1引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
0 |
PIN0 |
RO |
Px0引脚原始中断状态寄存器位 1:检测到中断触发条件(不受使能影响) 0:没有检测到中断触发条件(不受使能影响) |
7.5.8. GPIOx中断状态寄存器INTSTAT
偏移: 0x1c |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
RO |
Px15引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
14 |
PIN14 |
RO |
Px14引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
13 |
PIN13 |
RO |
Px13引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
12 |
PIN12 |
RO |
Px12引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
11 |
PIN11 |
RO |
Px11引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
10 |
PIN10 |
RO |
Px10引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
9 |
PIN9 |
RO |
Px9引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
8 |
PIN8 |
RO |
Px8引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
7 |
PIN7 |
RO |
Px7引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
6 |
PIN6 |
RO |
Px6引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
5 |
PIN5 |
RO |
Px5引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
4 |
PIN4 |
RO |
Px4引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
3 |
PIN3 |
RO |
Px3引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
2 |
PIN2 |
RO |
Px2引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
1 |
PIN1 |
RO |
Px1引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
0 |
PIN0 |
RO |
Px0引脚中断状态寄存器位 1:检测到了中断 0:没有检测到中断 INTSTAT.PINx = INTRAWSTAT.PINx & INTEN.PINx |
7.5.9. GPIOx中断清除寄存器INTCLR
偏移: 0x20 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
WO |
Px15引脚中断清除寄存器位,写1清除中断 |
14 |
PIN14 |
WO |
Px14引脚中断清除寄存器位,写1清除中断 |
13 |
PIN13 |
WO |
Px13引脚中断清除寄存器位,写1清除中断 |
12 |
PIN12 |
WO |
Px12引脚中断清除寄存器位,写1清除中断 |
11 |
PIN11 |
WO |
Px11引脚中断清除寄存器位,写1清除中断 |
10 |
PIN10 |
WO |
Px10引脚中断清除寄存器位,写1清除中断 |
9 |
PIN9 |
WO |
Px9引脚中断清除寄存器位,写1清除中断 |
8 |
PIN8 |
WO |
Px8引脚中断清除寄存器位,写1清除中断 |
7 |
PIN7 |
WO |
Px7引脚中断清除寄存器位,写1清除中断 |
6 |
PIN6 |
WO |
Px6引脚中断清除寄存器位,写1清除中断 |
5 |
PIN5 |
WO |
Px5引脚中断清除寄存器位,写1清除中断 |
4 |
PIN4 |
WO |
Px4引脚中断清除寄存器位,写1清除中断 |
3 |
PIN3 |
WO |
Px3引脚中断清除寄存器位,写1清除中断 |
2 |
PIN2 |
WO |
Px2引脚中断清除寄存器位,写1清除中断 |
1 |
PIN1 |
WO |
Px1引脚中断清除寄存器位,写1清除中断 |
0 |
PIN0 |
WO |
Px0引脚中断清除寄存器位,写1清除中断 |
7.5.10. GPIOx读数据寄存器IDR
偏移: 0x30 |
复位值: 0x00000000 |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
PIN15 |
PIN14 |
PIN13 |
PIN12 |
PIN11 |
PIN10 |
PIN9 |
PIN8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
PIN7 |
PIN6 |
PIN5 |
PIN4 |
PIN3 |
PIN2 |
PIN1 |
PIN0 |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:16 |
RO |
||
15 |
PIN15 |
RO |
Px15引脚数据读寄存器位 |
14 |
PIN14 |
RO |
Px14引脚数据读寄存器位 |
13 |
PIN13 |
RO |
Px13引脚数据读寄存器位 |
12 |
PIN12 |
RO |
Px12引脚数据读寄存器位 |
11 |
PIN11 |
RO |
Px11引脚数据读寄存器位 |
10 |
PIN10 |
RO |
Px10引脚数据读寄存器位 |
9 |
PIN9 |
RO |
Px9引脚数据读寄存器位 |
8 |
PIN8 |
RO |
Px8引脚数据读寄存器位 |
7 |
PIN7 |
RO |
Px7引脚数据读寄存器位 |
6 |
PIN6 |
RO |
Px6引脚数据读寄存器位 |
5 |
PIN5 |
RO |
Px5引脚数据读寄存器位 |
4 |
PIN4 |
RO |
Px4引脚数据读寄存器位 |
3 |
PIN3 |
RO |
Px3引脚数据读寄存器位 |
2 |
PIN2 |
RO |
Px2引脚数据读寄存器位 |
1 |
PIN1 |
RO |
Px1引脚数据读寄存器位 |
0 |
PIN0 |
RO |
Px0引脚数据读寄存器位 |
7.5.11. GPIOx PINn数据寄存器DATAPINn(n = 0 .. 15)
偏移: 0x40 + (n * 0x4) |
复位值: 0x0000xxxx |
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DATAPINn |
位域 |
名称 |
类型 |
描述 |
---|---|---|---|
31:1 |
RO |
||
0 |
DATAPINn |
RW |
GPIOx PINn数据寄存器。 读:GPIOx PINn的输入数据 写:GPIOx PINn的输出数据 |