вывод содержимого массива в консоль
- Войдите на сайт для отправки комментариев
Чт, 01/06/2017 - 19:05
друзья у меня есть byte массив заполненный шеснадцатиричными значениями типо 0x00, 0xA4, 0x04, 0x00, 0x0e
я пытаюсь его вывести в сериал порт чтобы поглядеть на него командой Serial.write(mass, sizeof(mass));
как мне получить вместо эроглифов байты?
и почему я получаю не байты а эроглифы?
иероглифайты .На них китайцы программируют.
друзья у меня есть byte массив заполненный шеснадцатиричными значениями типо 0x00, 0xA4, 0x04, 0x00, 0x0e
я пытаюсь его вывести в сериал порт чтобы поглядеть на него командой Serial.write(mass, sizeof(mass));
как мне получить вместо эроглифов байты?
Байты на могут быть заполнены 16-чными значениями. Для одного 16-чтого значения нужно минимум 2 байта.
Подозреваю, что Вам поможет: Serial.print(mass[i], HEX); или Serial.printдт(mass[i], HEX); в цикле.
Байты на могут быть заполнены 16-чными значениями. Для одного 16-чтого значения нужно минимум 2 байта.
Эээ... Но ведь 0xFF == 0b11111111 == 255. Или я чего-то не понял?
шестнадцатиричные и шестнадцатибитные значения - большая разность.
я разобрался это был просто мусор из не очищенного массива
Байты на могут быть заполнены 16-чными значениями. Для одного 16-чтого значения нужно минимум 2 байта.
Эээ... Но ведь 0xFF == 0b11111111 == 255. Или я чего-то не понял?
А чего тут не понять, само число не может быть двоичным, десятичным или шестрадцатиртчным. Двоичном, десятичным или шестрадцатиртчным может быть представление числа (напрмер, его запись в виде строки стекста). Для одного и того же числа существует несколько представлений:
"0xFF" - 4 символа, "0b11111111" - 10 симвоов, "255" - 3 символа. Само же число при этом остается одним и тем же.
А еще это буква 'я' в русском алфавите :)