Здравствуйте, я относительно новичок в программировании на С# и был бы признателен за помощь. Я пишу программу, которая связывается с машиной через RS232, и мне нужно отправить серию байтов для инициации связи. У меня есть двухбайтовое 16-битное CRC-слово в конце пакета, которое, я думаю, мне нужно разделить на два байта, чтобы поместиться в массив байтов.
// { <DLE> , <STX> , "G" , <DLE> , <ETX> , 16 BIT CRC CCITT split into two bytes}
byte[] byteToSend = new byte[] { 0x10, 0x02, 0x47, 0x10, 0x03, 0x421F };
Когда я конвертирую 0x421F в двоичный файл и делю его пополам, я получаю 0x42 и 0x1F, однако проблема с менее значимым байтом 0x1F заключается в том, что когда он отправляется, он не дополняется достаточным количеством нулей. Я думаю, что он просто отправляется как ‹11111> вместо ‹00011111> как требуется.
Любая помощь будет ОЧЕНЬ оценена СПАСИБО :)