0
我有一個類用於我的協議報頭中的C#8位模256和CRC
public class Header
{
public UInt16 m_syncBytes;
public UInt16 m_DestAddress;
public UInt16 m_SourceAddress;
public byte m_Protocol;
public byte m_SequnceNumber;
public byte m_Length;
public byte m_HdrCrc;
}
我想要計算的報頭塊的字符的8位模256和從m_DestAddress
到m_Length
我遇到過很多16位CRC在線的例子,但找不到8位的Modulo 256和CRC。如果有人能夠解釋如何計算,那將會很棒。
你就不能'字節CRC =(字節)(bytes.Take(m_Length).SUM()%256);'? – itsme86
@ itsme86 - 'm_Length'不是標題的長度。它是數據部分的長度 – liv2hak
你說你想創建一個頭塊字符的CRC,但是你正在談論從'm_DestAddress'到'm_Length',你說的是在數據部分。目前還不清楚你想要做什麼。你在說頭的字節嗎?像6個字節?你如何將標題存儲在內存中?你必須小心一些關於.Net如何在內部存儲這些屬性的假設。或者,只需將要包含在CRC中的標題元素的值添加到一起,然後對其進行取模。 – itsme86