1 GPIO管理
1.1 GPIO通用控制寄存器
寄存器 1- 1 GPIOA:端口 A 数据寄存器
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOA | 写 | 0x00 | PAx 数据。当 PAx 用作 GPIO 时有效 0:读取时PAx为输入低电平状态,写入时PAx为输出低电平; 1:PAx在读取时为输入高电平状态,在PAx时为输出高电平写 | |||||
寄存器 1- 2 GPIOASET: 端口 A 设置输出数据寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOASET | WO | X | 设置 PAx 输出数据。 写入 1 设置输出数据。 写入 0 不影响任何内容 | |||||
寄存器 1- 3 GPIOACLR: 端口 A 方向寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOACLR | WO | X | 清除 PAx 输出数据。 写 1 清除输出数据。 写入 0 不影响任何内容。 | |||||
寄存器 1- 4 GPIOADIR: 端口 A 方向寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOADIR | 写 | 0xFF | PAx 方向控制 0:输出 1:输入 | |||||
寄存器 1- 5 GPIOAPU: 端口 A 上拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPU | 写 | 0x0 | PAx 10KΩ上拉电阻控制。当 PAx 用作输入0 时有效 0:禁用 1:启用 | |||||
寄存器 1- 6 GPIOAPD: 端口A下拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPD | 写 | 0x0 | PAx 10KΩ 下拉电阻控制. 当 PAx 用作输入时有效 0: 禁用 1: 启用 | |||||
寄存器 1- 7 GPIOAPU200K: 端口 A 上拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPU200K | 写 | 0x0 | PAx 200KΩ 上拉电阻控制. 当 PAx 用作输入时有效 0: 禁用 1: 启用 | |||||
寄存器 1- 8 GPIOAPD200K: 端口A下拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPD200K | 写 | 0x0 | PAx 200KΩ 下拉电阻控制. 当 PAx 用作输入时有效 0: 禁用 1: 启用 | |||||
寄存器 1- 9 GPIOAPU300: 端口 A 上拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPU300 | 写 | 0x0 | PAx 300Ω 上拉电阻控制. 当 PAx 用作输入时有效 0: 禁用 1: 启用 | |||||
寄存器 1- 10 GPIOAPD300: 端口A下拉电阻寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAPD300 | 写 | 0x0 | PAx 300Ω 下拉电阻控制. 当 PAx 用作输入时有效 0: 禁用 1: 启用 | |||||
寄存器 1- 11 GPIOADE: 端口 A 数字功能使能寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOADE | 写 | 0xFF | PAx 数字功能使能 0:用作模拟 IO 的端口 1:用作数字IO的端口 | |||||
寄存器 1- 12 GPIOAFEN: 端口 A功能映射使能寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOAFEN | 写 | 0xFF | PAx 功能映射使能 0:用作 GPIO 的端口 1:用作功能IO的端口 | |||||
寄存器 1- 13 GPIOADRV: 端口 A 输出驱动选择寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
7:0 | GPIOADRV | 写 | 0x0 | PAx 输出驱动选择 0:8mA 1:32毫安 | |||||
1.2 GPIO功能映射 寄存器 1- 14 FUNCMCON0: 端口功能映射控制寄存器 0 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:28 | UT1RXMAP | 写 | 0x0 | UART1 RX映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011:通过UT1TXMAP选择映射到TX引脚 1111:清除这些位 其他是保留的 | |||||
27:24 | UT1TXMAP | 写 | 0x0 | UART1 TX 映射 0000:无影响 0001:映射到G1 0010:映射到G2 1111:清除这些位 其他是保留的 | |||||
23:20 | |||||||||
19:16 | |||||||||
15:12 | UT0RXMAP | 写 | 0x0 | UART0 RX映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011: 地图到G3 0100:映射到G4 0101:地图到G5 0110:地图到G6 0111:通过UT0TXMAP选择映射到 TX 引脚 1111:清除这些位 其他是保留的 | |||||
11:8 | UT0TXMAP | 写 | 0x0 | UART0 TX 映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011: 地图到G3 0100:映射到G4 0101:地图到G5 0110:地图到G6 0111:地图到G7 1111:清除这些位 其他是保留的 | |||||
7:4 | SPI0MAP | 写 | 0x0 | SPI0 映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011: 地图到G3 1111:清除这些位 其他是保留的 | |||||
3:0 | SD0MAP | 写 | 0x0 | SD0 映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011: 地图到G3 0100:映射到G4 0101:地图到G5 0110:地图到G6 1111:清除这些位 其他是保留的 | |||||
寄存器 1- 15 FUNCMCON1: 端口功能映射控制寄存器 1 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:28 | |||||||||
27:24 | |||||||||
23:20 | |||||||||
19:16 | |||||||||
15:12 | |||||||||
11:8 | UT2RXMAP | 写 | 0x0 | UART2 RX 映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011:通过UT2TXMAP选择映射到TX引脚 1111:清除这些位 其他是保留的 | |||||
7:4 | UT2TXMAP | 写 | 0x0 | UART2 TX 映射 0000:无影响 0001:映射到 G1 0010:映射到G2 1111:清除这些位 其他是保留的 | |||||
3:0 | |||||||||
寄存器 1- 16 FUNCMCON2: 端口功能映射控制寄存器 2 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:24 | - | - | - | 未使用 | |||||
23:20 | |||||||||
19:16 | TMR5MAP | 写 | 0x0 | 定时器5 PWM映射 0000:无影响 0001:映射到 G1 1111:清除这些位 其他是保留的 | |||||
15:12 | TMR4MAP | 写 | 0x0 | 定时器4 PWM映射 0000:无影响 0001:映射到 G1 1111:清除这些位 其他是保留的 | |||||
11:8 | TMR3MAP | 写 | 0x0 | 定时器3 PWM映射 0000:无影响 0001:映射到 G1 1111:清除这些位 其他是保留的 | |||||
7:4 | TMR3CPTMAP | 写 | 0x0 | 定时器3 捕获引脚映射 0000:无影响 0001:映射到 G1 0010:映射到G2 0011: 地图到G3 0100:映射到G4 0101:地图到G5 0110:地图到G6 0111:地图到G7 1111:清除这些位 其他是保留的 | |||||
3:0 | |||||||||
1.3 外部端口中断唤醒 支持8个唤醒源输入,如下表所示。唤醒电路 6 和 唤醒电路 7 专门用于 32 端口中断唤醒。 端口中断源为: 端口_intsrc = {PG[4:0], PF[5:0], PE[7:0], PB[4:0], PA[7:0]}; | |||||||||
唤醒源 | 唤醒电路 | ||||||||
PA7 | 唤醒电路 0 | ||||||||
PB1 | 唤醒电路 1 | ||||||||
PB2 | 唤醒电路 2 | ||||||||
PB3 | 唤醒电路 3 | ||||||||
PB4 | 唤醒电路 4 | ||||||||
WKO | 唤醒电路 5 | ||||||||
PORT_INT_FALL | 唤醒电路 6 | ||||||||
PORT_INT_RISE | 唤醒电路 7 | ||||||||
寄存器 1- 17 WKUPCON: 唤醒控制寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:17 | - | - | - | 未使用 | |||||
16 | WKIE | 写 | 0 | 唤醒中断启用 0: 禁用 1: 启用 | |||||
15:8 | - | - | - | 未使用 | |||||
7:0 | WKEN | 写 | 0x0 | 唤醒输入 7~0 使能 0: 禁用 1: 启用 | |||||
寄存器 1- 18 WKUPEDG: 唤醒边缘选择寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:24 | - | - | - | 未使用 | |||||
23:16 | WKPND | R | 0x0 | 唤醒输入 7~0 挂起 0:无待处理 1:挂起唤醒 | |||||
15:8 | - | - | - | 未使用 | |||||
7:0 | WKEDG | 写 | 0x0 | 唤醒输入 7~0 唤醒边沿选择 0:上升沿 1:下降沿 | |||||
寄存器 1- 19 WKUPCPND: 唤醒清除挂起的寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:8 | - | - | - | 未使用 | |||||
23:16 | WKCPND | W | 0x0 | 唤醒输入 7~0 清除挂起 0:无影响 1:清除唤醒挂起 | |||||
15:0 | - | - | - | 未使用 | |||||
寄存器 1- 20 PORTINTEN: 端口中断启用寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:0 | PORTINTEN | 写 | 0x0 | 端口中断 0~31使能位 0: 禁用 1: 启用 | |||||
寄存器 1- 21 PORTINTEDG: 端口中断边沿选择寄存器 | |||||||||
位 | 寄存器名 | 模式 | 缺省 | 描述 | |||||
31:0 | PORTINTEDG | 写 | 0x0 | 端口中断 0~31 边沿选择位 0:上升边沿 1:下降沿 |