Я пытаюсь создать массив байтов, который имеет определенный результат BCC (знак проверки столбца) (= 0).Как создать массив байтов, который будет иметь BCC (символ проверки блока) заданного значения (0)?
Массив будет иметь преамбулу:
32 02 31 1F 31 1E 32 1F T E S T :
32 02 31 1F 31 1E 32 1F 54 45 53 54 3A 20
С переменной текстового сообщения (MSG) в середине:
T e s t 2
54 65 73 74 32
сопровождаемый постамбула из:
1E 37 1F 33 03
BCC, который я получаю для этой строки: 0x11
Вот алгоритм, который возвращает это значение (C++):
unsigned char bcc=0;
int index = block.Find(0x03); //ETX
for (int i=0; i<= index;i++)
bcc ^= block[i];
return bcc;
Я пытаюсь придумать способ найти сообщение в разделе среднего, что приведет к ВСС 0.
В настоящее время я использую пробную версию и ошибку, но я уверен, что есть лучший способ сделать это - я просто не придумал тот, который работает. Я взял качели на инструмент, который повторяет используемый метод BCC (в C#), и это не согласуется с результатами, которые я получаю (вздох).
Показать код, который вы сделали для версии C#, и мы можем помочь вы найдете свою ошибку. –