Advanced Control ADV 185 M420-M [133/161] Cmd и состояние

Advanced Control ADV 355 M420-M [133/161] Cmd и состояние
Протокол связи Преобразователь М 420 общего назначения с управлением вектором потока.
Руководство пользователя
132
При формировании CRC определяется результат исключающего ИЛИ для каждого восьмибитового символа
и содержимого регистра. Затем результат смещается в сторону младшего разряда (LSB), если бит перевернут, а
на место старшего разряда (MSB) ставится нуль. LSB извлекается и исследуется. Если LSB был равен 1, то
выполняется исключающее ИЛИ для регистра и заранее определенного постоянного значения. Если LSB был
равен 0, исключающее ИЛИ не выполняется. Этот процесс повторяется вплоть до восьмого сдвига. После
последнего восьмого сдвига выполняется исключающее ИЛИ следующего восьмибитового байта и текущего
значения регистра, а затем процесс повторяется для следующих восьми сдвигов согласно предыдущему
описанию. Окончательное содержимое регистра после обработки всех байтов сообщения является значением
CRC.
Когда CRC добавляется к сообщению, сначала добавляется младший байт, а затем старший байт.
Unsigned int CrcCalValue (Unsigned int *data, Unsigned int length)
{
Unsigned int crcValue = Oxffff;
int i;
while (length--)
{
Crc Value
Λ
= *data++;
for(i = 8-l; i>=0; i~)
{
if (crc Value & 0x0001)
{
Crc alue = (crcValue » 1)
Λ
OXaOOl;
}
else
{
Crc Value = crcValue » 1;
}
}
}
return (crcValue);
}
8.7 CMD и состояние

Содержание

Скачать