* Обновление: у Cube есть обратные вызовы Status и Link.Еще не пробовал их, но я ожидаю, что это лучшее решение
Я использую периферийное устройство Ethernet на моем STM32F429ZI
с
LWIP Middleware, созданным CubeMX
. Этот вопрос похож, но для ПК.
Мне трудно понять раздел Ethernet в спецификации продукта.Неясно, какие регистры я мог бы посмотреть, чтобы проверить наличие неработающих ссылок.
Я также изучил код LWIP на случай очевидного подхода к просмотру без регистрации.В основном цикле он опрашивает сетевой интерфейс с MX_LWIP_Process
.При чтении он знает, есть ли пакет через следующее:
void ethernetif_input(struct netif *netif)
{
err_t err;
struct pbuf *p;
/* move received packet into a new pbuf */
p = low_level_input(netif);
/* no packet could be read, silently ignore this */
if (p == NULL) return;
При отправке функция tcp_output()
очень громоздка.В нем есть ошибки для недействительного netif, неверного local_ip и общая ошибка, которую я мог наблюдать, но ничего, что прямо говорит мне о том, что канал не работает.
Моя последняя мысль - у заголовков Ethernet есть светодиоды, которые выключаются, есликабель отключен.Я собираюсь посмотреть на схемы оборудования для STM32F4 DK, чтобы увидеть, смогу ли я их посмотреть.