Neo писал(а):
Хотя с байтами сильно не дружу Вот как я понял условия задачи (и как изложил бы): "На СОМ порт поступают данные в формате -- первые два байта символы "0" и "2" начало блока, третий байт содержит количество байт данных от 1 до 255, далее обозначенное количество байт данных, далее ещё один байт с контрольной суммой, и последние два байта символы "0" и "3" окончание блока".
Под это понимание схемка: com_data.rar
1. Данные с СОМ склеиваются в строку (пустую строку из СОМ блокируем) и дважды запоминаются
2. Перебираем в цикле запомненную в первой ячейке строку в поиске "02"
3. Есть "02" -- читаем следующий байт и превращаем его в число n (1--255) и сохраняем
4. Читаем n следующих байт и сохраняем в памяти
5. Читаем следующий байт и превращаем его в число -- контрольную сумму, сохраняем
6. Читаем следующие два байта
7. Если это "03"
7.1 Запомненные данные склеиваем как хочется и выдаём куда нужно
7.2 Копируем часть строки после найденых "03" во вторую ячейку памяти
8. По окончании перебора строки копируем вторую ячейку памяти в первую.