AVR的两种位操作的比较(wjc3k发于21ic)(位域与C位操作的比较)AVR的两种位操作的比较(位域方式和移位宏方式)
测试环境如下:
硬件:AT90S2313
软件:WiinAVRgcc3.3-Os级优化(最小size)。
说明:
由于AVR不支持位操作,所以必须通过软件来实现。下面对我所知道的两种方法进行一个简单的比较。
1、位域方式。先定义一个位域,
typedefstruct_bit_struct
{
unsignedcharbit0:1;
unsignedcharbit1:1;
unsignedcharbit2:1;
unsignedcharbit3:1;
unsignedcharbit4:1;
unsignedcharbit5:1;
unsignedcharbit6 :1;
unsignedcharbit7:1;
}bit_field;
再用一个宏,来指向要操作的位。
#defineLED