Внесение изменений для совместимости
Для обеспечения совместимости с библиотекой Ethernet3 потребуется внести изменения в файлы EthernetClient.h и EthernetUdp3.h. Следуйте инструкциям ниже.
Изменение в EthernetClient.h
В файле EthernetClient.h замените доступ к переменным с private на protected для следующих элементов:
class EthernetClient : public Client {
protected: // <--- замените 'private' на 'protected'
static uint16_t _srcport;
uint8_t _sock;
};
Изменение в EthernetUdp3.h
В файле EthernetUdp3.h также замените доступ к переменным с private на protected:
class EthernetUDP : public UDP {
protected: // <--- замените 'private' на 'protected'
uint8_t _sock; // socket ID for Wiz5100
// ...
};
Изменение в EthernetServer.h
В файле EthernetServer.h также замените доступ к переменным с private на protected:
class EthernetServer : public Server {
protected: // <--- замените 'private' на 'protected'
uint16_t _port;
void accept();
//...
};
Эти изменения необходимы для обеспечения доступа к соответствующим членам класса при наследовании.
Обратите внимание
При работе с библиотекой Ethernet3 версии 3 требуется отдельно указывать CS пин для инициализации. Пример кода:
void setup() {
// ...
Ethernet.setCsPin(W5500_CS_PIN);
Ethernet.init();
Ethernet.begin(mac, localIP, subnet, gateway, gateway);
// ...
}
Не забудьте правильно настроить W5500_CS_PIN и сетевые параметры (mac, localIP, gateway, subnet) в зависимости от вашей конфигурации.