嵌入式分享讨论

关于GPDR,GAFR,GPCR和GPSR寄存器的作用 以及他们在相应位置设置不同值时的作用

  1. GPDR
    GPDR:管脚是输入端还是输出端是通过编程GPIO管脚方向来控制的
    寄存器(GPDR0/1/2/3),GPDR寄存器为每个1211GPIO引脚,设置值为1的位对应的I/O为输出模式,为0的位对应的I/O为输入模式。

  2. 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)。

  3. GPCR
    GPCR:当I/O设置为GPIO输出模式(Output模式)时,可以通过写GPCRx控制相应I/O口输出低电平(写1的位有效)

  4. GPSR
    GPSR:当I/O设置为GPIO输出模式(Output模式)时,可以通过写GPSRx控制相应I/O口输出高电平(写1的位有效)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值