关于GPDR,GAFR,GPCR和GPSR寄存器的作用 以及他们在相应位置设置不同值时的作用
-
GPDR
GPDR:管脚是输入端还是输出端是通过编程GPIO管脚方向来控制的
寄存器(GPDR0/1/2/3),GPDR寄存器为每个1211GPIO引脚,设置值为1的位对应的I/O为输出模式,为0的位对应的I/O为输入模式。 -
GAFR
GAFR:GPIO备用功能寄存器(GAFR0/1/2/3)包含对应于121的选择位GPIO引脚。每个GPIO可以配置为通用GPIO管脚,三个备用管脚之一输入函数,或三个备用输出函数之一。要选择任何替代函数,GPDR寄存器必须将GPIO配置为输入。同样,只有配置为GPDR的输出可以配置为备用输出功能。每个GPIO管脚都有一对分配给它的位,其值决定哪个函数(正常GPIO,备用函数1,备用功能2或备用功能3)GPIO执行。选择的功能是通过如下方式写入GAFR位对来确定:
1、0b00表示GPIO功能正常;
2、0b01选择备用输入功能1(ALT_FN_1_IN)或备用输出功能1(ALT_FN_1_OUT);
3、0b10选择备用输入功能2(ALT_FN_2_IN)或备用输出功能2(ALT_FN_2_OUT);
4、0b11选择备用输入功能3(ALT_FN_3_IN)或备用输出功能3(ALT_FN_3_OUT)。 -
GPCR
GPCR:当I/O设置为GPIO输出模式(Output模式)时,可以通过写GPCRx控制相应I/O口输出低电平(写1的位有效) -
GPSR
GPSR:当I/O设置为GPIO输出模式(Output模式)时,可以通过写GPSRx控制相应I/O口输出高电平(写1的位有效)。