Создание объекта IPAddress из беззнакового целого числа
Если я создаю объект IPAddress, используя десятичный IP-адрес, он выглядит обратным. Что я делаю не так? См. примеры кода ниже.
IPAddress addressOne(192,168,50,1);
Serial.print(addressOne); // ==> печатает "192.168.50.1"
// Десятичная версия 192.168.50.1 — 3232248321
unsigned int iAddress = 3232248321;
IPAddress addressTwo(iAddress);
Serial.print(addressTwo); // ==> печатает "1.50.168.192";
@dbarck2000, 👍-1
1 ответ
▲ 0
Вы только что узнали, что этот конструктор IPAddress
интерпретирует
параметр в порядке с прямым порядком байтов. Затем закодируйте свой адрес как
обратный порядок байтов:
//Десятичная версия 192.168.50.1 — 20097216
unsigned int iAddress = 20097216;
,
@Edgar Bonet
Смотрите также:
- Как объявить массив переменного размера (глобально)
- Программирование Arduino с использованием Python, а не C/C ++
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Как справиться с rollover millis()?
- Является ли использование malloc() и free() действительно плохой идеей для Arduino?
- Можно ли сделать несколько функций loop() с помощью Arduino Uno?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- устаревшее преобразование из строковой константы в 'char*'
Ух ты! Я только что узнал кое-что! Спасибо!, @dbarck2000