freemodbus线圈中的位操作

连续位的操作函数:

xMBUtilSetBits(UCHAR * ucByteBuf, USHORT usBitOffset, UCHAR ucNBits,UCHAR ucValue);

xMBUtilGetBits(UCHAR* ucByteBuf, USHORT usBitOffset, UCHAR ucNBits);

设置位:

将字节数组ucBytebuf看成连续的二进制位,从usBitOffset开始的连续ucNBits位都设置成ucValue
ucNBits:1~8
ucValue:0/1

读位:

将字节数组ucBytebuf看成连续的二进制位,读出从usBitOffset开始的连续ucNBits位
ucNBits:1~8

原文地址:https://www.cnblogs.com/jieruishu/p/5542329.html