Внесение изменений для совместимости
Для обеспечения совместимости с библиотекой 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
) в зависимости от вашей конфигурации.