arduino hex в serial

usemen
Offline
Зарегистрирован: 20.07.2019

Здравствуйте, хочу написать программку для работы с рфид, нужно, чтобы сериал порт принимал значение hex и кидая его в переменную типа byte это и оставалось тем же hex.

допустим я ввожу в сериал 0x3F и в итоге получаю переменную byte serialData = 0x3F;

возможно? 

mixail844
Offline
Зарегистрирован: 30.04.2012

да,возможно )

в заависимости каким Serial Terminal'om пользуетесь ... данные будут пердаваться или сразу в числовом виде,что вам и нужно ('0х' это префикс 16-ти численного исчесленния, по факту передается просто 6F(hex) или 01101111(bin) или же 111 (dec) ) или в формате ASCII , и с точки зрения Ардуины выглядит как набор символов {'0','x','6','F'} для "0х6F" или {'6','F'} для "6F" или {'1','1','1' } для "111" ,что после перевода в численный вид, с точки зрения ардуины одно и тоже. 

для второго случая,вам надо "придумать"  как из строчки "0х6F" сделать число 0x6F

usemen
Offline
Зарегистрирован: 20.07.2019

работать буду с терминалом arduino ide

и если вам не лень, то напишите кусок кода для перевода)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

usemen пишет:

...в переменную типа byte это и оставалось тем же hex.

невозможно. byte и hex - это взаимсключающие вещи.

Цитата:

допустим я ввожу в сериал 0x3F и в итоге получаю переменную byte serialData = 0x3F;

возможно? 

А вот это - вполне возможно.

Только Вам необходимо уяснить разницу между значением переменной и ее текстовым представлением.