Привет всем! Помогите новичку. Не могу понять, как правильно перевести мак-адрес в нужный формат, чтобы использовать его в скетче.
4C-0F-6E-19-31-F6 ну вот бычный мак адресс, а как сюда его правильно прописать, " byte mac[] = { 0xDE, 0xAD, 0xBE, 0x00, 0x00, 0x00 }; //MAC-адрес Arduino " , не получается , выдаёт ошибку , или я что то не понимаю
выдаёт ошибки " Arduino: 1.6.2 (Windows 7), Плата"Arduino Uno" Изменена опция сборки, пересобираем все sketch_aug30a.ino:17:16: error: invalid suffix "C" on integer constant sketch_aug30a.ino:17:20: error: invalid suffix "F" on integer constant sketch_aug30a.ino:17:24: error: exponent has no digits sketch_aug30a.ino:17:36: error: 'F6' was not declared in this scope Ошибка компиляции.
Для справки. МАК-адрес по жизни - это шесть байт. Не больше и не меньше. Точно так же как IP v4 - это всего лишь четыре байта. Для удобства представления при отображении или публикации адрес записывается в виде строки, в которой просто идут значения байт, разделяемые дополнительным символом, чтобы просто отделять один байт от другого. Причем форма записи (символ-разделитель) и формат значений (десятичный/шестнадцатеричный) изначально, похоже, берутся от балды. Кстати, для мак-адреса иногда используется текстовое представление без разделителей, когда шестнадцатеричные значения байт просто записываются по две шестнадцатеричные цифры одно за другим (что, впрочем, раздражает, поскольку столь длинная последовательность без разделителей плохо воспринимается, потому, кстати, и телефонные номера при записи разбавляют скобками и тире). byte mac[] = { 0xDE, 0xAD, 0xBE, 0x00, 0x00, 0x00 }; - это представление в программе (именуемой также скетчем). Все те же шесть байт, записанных в виде последовательности из шести чисел, инициализирующей массив байтовых значений, в результате чего в памяти в виде значения означенного массива будет мак адрес в своем родном физическом представлении (6 байт) во всей своей красе. Для того, чтобы в ячейку (элемент) массива поместить байт, нужно задать его значение. Значение можно задать и в десятичной системе, переведя в него исходную шестнадцатеричную пару цифр, но, чтобы не возиться с преобразованиями, проще и нагляднее оставить константы-значения байт шестнадцатиричными. Чтобы компилятор понял, что ему скармливают числа в шестнадцатеричном формате, каждое число предваряется префиксом из двух символов - 0x.