HEX в текст
- Войдите на сайт для отправки комментариев
Ср, 29/01/2014 - 15:26
уперся в необходимость перевода байта в текст, но - дословно. т.е. если задается на входе байт с значением 4F, то на выходе нужно получить текстовую строку "4F", и не 47 и не какой-нибудь знак, с кодом #4F.
как это можно реализовать? важно: никак не использовать последовательный порт.
уперся в необходимость перевода байта в текст, но - дословно. т.е. если задается на входе байт с значением 4F, то на выходе нужно получить текстовую строку "4F", и не 47 и не какой-нибудь знак, с кодом #4F.
как это можно реализовать? важно: никак не использовать последовательный порт.
Разбить на половинки по 4 бита и каждую преобразовать в текстовый символ.
сделал чуть сложнее, но данные (4F) парсятся в Adblock (4) Bblock (15 - "F"). криво конечно, но удалось получить данные с USB-джойстика на LCD экран, минуя сериалпорт.
char nibble2hex(uint8_t n) { if (n < 10) return '0' + n; else return 'A' + n; } void byte2hex(uint8_t n, char *rstr) { rstr[1] = nibble2hex(n & 15); n >>= 4; rstr[0] = nibble2hex(n); }Вот вариант иллюстрирующий что я говорил.