на разных ресурсах пишут про необходимость вызывать функцию DHCP_time_handler() при работе с w5500. насколько это необходимо?
Если IP адрес получен по DHCP то нужно периодически вызывать функцию, Код (C++): Ethernet.maintain(); и продлевать аренду IP адреса. Пишут, что можно каждую секунду, она проверит время, если не прошло половины срока аренды ничего делать не будет. Иначе DHCP сервер отдаст данный IP адрес и в сети будет два устройства отвечающие на 1 IP адрес. Я DHCP_time_handler() не вызываю, устройства работают уже много лет, глюков нет. Поискал, у меня нет ее в Ethernet2
Да, я уже посмотрел. Я использую Ethernet2 с самого начала. Про Ethernet.maintain(); узнал, когда начал разбираться с глюками в сети. В примерах Ethernet2 Ethernet.maintain(); нет, что честно говоря очень удивило. А так LeonardoETH и амперковские меги с шилдом на W5500 работают очень надежно, ни разу не подвисли. На первую LeonardoETH поставил аппаратный вочдог на тиньке, потому что Ethernet иногда отваливался при заливке кода в плату. Но как выяснил потом, связано это именно с заливкой кода. За пять лет вочдог ни разу не сработал. Когда проверял, срабатывал сразу после отключения свитча, к которому подключена LeonardoETH.