Valera0141, ну вы там извращениями не занимайтесь и не делите один байт пополам. Есть же сложившаяся структура кода, которая не путает и нормально читается, вот таким макаром:
Start
00
5A 02 01 A2
5A 02 0C 97
5A 0B 80 0D
5A 02 01 A2
5A 02 0C 97
5A 0B 80 ??
Первая цифра 5A - это запрос от PSP; вторая цифра 0B - это количество байт в строе после неё. Я вижу только 2 байта, а где остальные 9 байт?
Да, третья цифра - это код команды, а коды 80 и 81 имеют код из двух байтов, где второй байт - это номер ключа, например, 80 0D
Последняя цифра в строке - это корректирующий байт, который уравнивает сумму всех байт в строке до FF.
Может проще было скопировать готовый код запросов-ответов из лога, где вывод идёт по-фэншую?
А то заморачиваетесь с чёрточками и полубайтами, извращенцы