... где разделитель также может находиться в корпусе.Разбор строки фиксированной длины с разделителем
Я работаю с ЖК-дисплеем, который имеет протокол, который использует формат ниже:
STX (1 байт) + IDT (1 байт) + Тип (1 байт) + CMD (3bytes) + [Value/Ответ (1 байт)] + ETX (1 байт)
STX - 0x07, а ETX - 0x08. IDT, поступающий с дисплея, также может быть 0x08, что вызывает у меня проблемы при попытке проанализировать ответ с дисплея. Я не писал процедуру разбора, но теперь мне поручено заставить все работать.
Исходное решение для программиста можно посмотреть по адресу https://gyazo.com/1fc74133e7109e5aa213f3f5878cc001. Проблема в том, что когда IDT равен 0x08, код просто захватывает первые 2 байта в ответе, потому что 0x08 является ETX, а также IDT. Я думал об использовании LastIndexOf, но существует вероятность того, что на дисплее в буфере будет больше одного ответа. Любая помощь приветствуется.
Будет ли каждый ответ быть ровно в 8 байтах? –
Да, если я правильно читаю протокол. – Minesguy82