本文整理汇总了C#中BitArray.AddBitsMsb方法的典型用法代码示例。如果您正苦于以下问题:C# BitArray.AddBitsMsb方法的具体用法?C# BitArray.AddBitsMsb怎么用?C# BitArray.AddBitsMsb使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitArray
的用法示例。
在下文中一共展示了BitArray.AddBitsMsb方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetBitsUnstuffed
// 7 consecutive bits EOF not present
// 3 consecutive bits IFS not present
public BitArray GetBitsUnstuffed()
{
BitArray ba = new BitArray();
ba.AddBit(false); // SOF
ba.AddBitsMsb(COB.IdStd, 11); // ID
if (!COB.IdIsExt)
{
ba.AddBit(false); // RTR
ba.AddBit(false); // IDE
ba.AddBit(false); // r0
}
else
{
ba.AddBit(true); // SRR
ba.AddBit(true); // IDE
ba.AddBitsMsb((uint)COB.IdExt, 18); // ID Extension
ba.AddBit(false); // RTR
ba.AddBit(false); // r0
ba.AddBit(false); // r1
}
ba.AddBitsMsb((uint)Data.Length, 4); // DLC
for (int i = 0; i < Data.Length; i++)
ba.AddBitsMsb((uint)Data[i], 8);
// vypocet crc dle speciikace
uint CRC = 0;
foreach (bool bit in ba.Bits())
{
CRC <<= 1;
if (bit ^ ((CRC & 0x8000) != 0))
CRC ^= 0x4599;
CRC &= 0x7FFF;
}
ba.AddBitsMsb(CRC, 15); // ToDo CRC computation
ba.AddBit(true); // CRC delimiter
ba.AddBit(false); // ACK
ba.AddBit(true); // ACK delimiter
return ba;
}