其他位不变,具体位的赋值操作

GPIOC = (GPIOC & 0xf0) | (Content[s_Index] & 0x0f);        //低四位赋值
GPIOB = (GPIOB & 0xc3) | ((Content[s_Index]>>2) & 0x3c);      //中间四位赋值

具体某一位置1或取反:

正确写法:

置1:GPIOC |= (1<<i);取反:GPIOC &= ~(1<<i);

错误写法:

取反:GPIOC &= (0<<i);  原因:其他位也会清零

你可能感兴趣的:(其他位不变,具体位的赋值操作)