1、GPIO的初始功能,及相关复用功能如下:
2、GPIO的多功能复用寄存器GPAMUX1、GPAMUX2、GPBMUX1、GPBMUX2
共58个GPIO,每个GPAMUXx.GPIOy寄存器有如下4种状态,
00:通用的输入输出口
01:外设选择1
10:外设选择2
11:外设选择3
详见数据手册P133-P138
3、控制寄存器GPACTRL、GPBCTRL
共8组寄存器,每组寄存器有8位,共256种状态,用来控制八组管脚的时钟。
详见:P139-P142
4、GPIO尖脉冲滤除选择寄存器GPAQSEL1、GPAQSEL2、GPBQSEL1、GPBQSEL2
共58个GPIO,每个GPIO的这类寄存器有如下四种状态:
00:只与系统时钟SYSCLKOUT同步
01或者10:此模式中,当与系统时钟同步后,输入信号在输入值改变前需要满足一定数量的时钟周期的宽度要求。
11:不同步,此模式用于不同步外设
详见技术手册P143-P147
5、GPIO方向寄存器GPADIR、GPBDIR
GPIO共58个,每个寄存器有两种状态
0:配置GPIO作为输入
1:配置GPIO作为输出
详见P146-P147
6、GPIO上拉电阻禁止寄存器GPAPUD、GPBPUD
GPIO共58个,每个GPIO有两种状态
0:使能特定引脚的内部上拉
1:禁用特定引脚的内部上拉
详见:P148—P149
7、GPIO数据寄存器,GPADAT、GPBDAT
0:如果引脚在相应的GPAMUX1 / 2和GPADIR寄存器中配置为GPIO输出,则写入0将强制输出0; 否则,该值被锁存但不用于驱动引脚。读取0表示引脚的状态当前为低,与引脚配置的模式无关。
1:如果引脚在相应的GPAMUX1 / 2和GPADIR寄存器中配置为GPIO输出,则写入1将强制输出1; 否则,该值被锁存但不用于驱动引脚。读取1表示引脚的状态当前为高,与引脚配置的模式无关。
详见:P150-P51
8、GPIO数据设定寄存器、数据清除寄存器、数据切换寄存器,
GPASET、GPACLEAR、GPATOGGLE,GPBSET、GPBCLEAR、GPBTOGGLE
GPASET.GPIOx = 1:强制设置端口为高电平
GPABCLEAR.GPIOx = 1:强制设置端口为低电平
GPATOGGLE.GPIOx = 1:强制设置端口电平反转
0:无效
1:有效
详见:P153-P155
9、GPIO中断选择寄存器GPIOXINT1SEL、GPIOXINT2SEL、GPIOXINT3SEL
GPIO的范围是GPIO0—GPIO31。寄存器作用如下:
选择将用作XINT1,XINT2或XINT3中断源的端口A GPIO信号(GPIO0 - GPIO31)。
详见:P155
10、低功耗模式选择寄存器GPIOLPMSEL
如果该位清零,相应引脚上的信号将对HALT和STANDBY低功耗模式没有影响。
如果相应位设置为1,则相应引脚上的信号能够将器件从HALT和STANDBY低功耗模式唤醒。0:对低功耗无影响
1:从低功耗中唤醒
详见:P156
-
1、GPAMUX1、GPAMUX2、GPBMUX1、GPBMUX2(多功能复用寄存器)
普通IO、外设1、外设2、外设3.
00、01、10、11
-
2、GPACTRL、GPBCTRL(控制寄存器)
时钟
2的8次方=256种时钟状态
-
3、GPAQSEL1、GPAQSEL2、GPBQSEL1、GPBQSEL2(尖脉冲滤除选择寄存器)
与系统时钟同步;与系统时钟同步后,信号改变需要一定的时钟周期宽度要求;不同步
00;01、10;11
-
4、GPADIR、GPBDIR(方向寄存器)
0:输入
1:输出
-
5、GPAPUD、GPBPUD(上拉电阻禁止寄存器)
0:使能上拉
1:禁止上拉
-
6、GPADAT、GPBDAT(数据寄存器)
详见:上面
-
7、GPASET、GPACLEAR、GPATOGGLE,GPBSET、GPBCLEAR、GPBTOGGLE
(数据设定寄存器、数据清除寄存器、数据切换寄存器)
也就是:
置一寄存器、清零寄存器、1和0反转寄存器
0:无效
1:有效
-
8、GPIOXINT1SEL、GPIOXINT2SEL、GPIOXINT3SEL(中断选择寄存器)
详见:上面
-
9:GPIOLPMSEL(低功耗寄存器)