1.对硬件寄存器位操作,如清零,置位,取反,位域
2.用异或实现交换两个变量值
3.编译器测试
4.位域在嵌入式中的应用
点击下载源码
================================================================
#include#define BIT11 (1int main(void){unsigned int rGPIOA = 0xffff;printf("BIT11 = 0x%x\n", BIT11);rGPIOA &= (~(BIT11));printf("''''&'''' set rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA |= (BIT11);printf("''''|'''' reset rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA ^= (BIT11);printf("''''^'''' reverse rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA ^= (BIT11);printf("''''^'''' reverse rGPIOA bit %d again = 0x%x\n", BIT11, rGPIOA);return 0;}
==============================================================
#includeint main(void){struct bit_erea{unsigned a:2;unsigned b:3;unsigned c:3;};struct bit_erea data;unsigned char output;data.a = 3;data.b = 5;data.c = 4...
>> 阅读全文