如何配置GPIO的引脚,位,但是不影响其他位的使用。
清0
GPFCON &= ~(GPF4_msk | GPF5_msk | GPF6_msk);
先把相关的位 置1 然后取反 变成0,再&寄存器值,这样就可以清位。
11 << 0000 0000 <==> 0011 0000 0000
取反 <==> 1100 1111 1111
再&寄存器原来置 <==> XXXX XXXX XXXX 这就是清0.
<==> XX00 XXXX XXXX 你看原来的值被清0,其他值被保留。
置1
GPFCON |= GPF4_out | GPF5_out | GPF6_out;
先置1,再取反
#define GPF4_msk (3<<(4*2)) 先把引脚4及时bit9 8 设置成11,然后后面就可以清成00
#define GPF5_msk (3<<(5*2))
#define GPF6_msk (3<<(6*2))
#define GPF4_out (1<<(4*2)) 把引脚4及bit8,设置成1,1 0000 0000
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
GPFCON &= ~(GPF4_msk | GPF5_msk | GPF6_msk);
GPFCON |= GPF4_out | GPF5_out | GPF6_out;