Начальные нули на MAC-адресе Arduino Ethernet
Как я могу передать MAC-адрес в Ethernet shield с начальными нулями?
Я меняю MAC-адрес по умолчанию с DEADBEEFFEED
на что-то вроде DEADBEEFFE01
. Поэтому я меняю только последнее число с 0xED
на 0x01
. Моя плата подключается к отдельному серверу, и когда я смотрю на MAC на этом сервере, моя плата отображается как DEADBEEFFE1
.
Это не так просто, как напечатать MAC-адрес с добавленными нулями, поскольку плата фактически удаляет его.
Я просмотрел библиотеку Ethernet и увидел, что mac передается как массив uint8_t
. Я думаю, именно поэтому последнее число считывается как 1 (что правильно), но передается именно так.
Есть ли способ для MAC передавать начальные нули?
@noobiejp, 👍2
Обсуждение1 ответ
Пишу это на случай, если кому-то в будущем это может быть интересно.
Значения, переданные в библиотеке Ethernet, верны. Последнее значение 0x01 должно быть равно 1 и записано правильно, 0x01
в регистрах W5500 внутри экрана Ethernet.
Где я ошибся, так это в том, как я передаю MAC-адрес на сервер. По сути, я создаю строку для сообщения json. Там я поставил %02x
, чтобы убедиться, что нули заполнены.
- Как получить HTTPS на Arduino?
- Клиент MQTT на Arduino + SIM900
- Arduino Ethernet Shield при использовании контактов Arduino Mega
- Ethernet nodemcu
- Удаленная загрузка кода на плату Arduino через интернет
- Экран Ethernet не получает IP
- Где я могу найти лучшую схему выводов для платы «Arduino Ethernet»?
- Использование AysncUDPMessage для ESP32 для отправки строковых данных
0x01 это 1. сервер печатает неправильно, @Juraj
Да, видимо, выяснил, что проблема именно в сервере., @noobiejp