以太网连接因mbed操作系统中的LWIP而失败

时间:2018-10-19 15:45:20

标签: arm stm32 ethernet mbed lwip

我正在使用支持mbed的板进行开发,我需要在其上运行以太网应用程序。

我尝试使用以下代码创建连接:

`network = new EthernetInterface();
    network->connect();
    // Show the network address
    const char *ip = network->get_ip_address();
    printf("IP address is: %s\n", ip ? ip : "No IP");`

通常它应该工作,但是在LWIPInteraface类的
osSemaphoreAcquire 的调用API中失败,返回超时错误。

if (!netif_is_link_up(&netif)) {
    if (blocking){
        if (osSemaphoreAcquire(linked, 15000) != osOK){
            if (ppp){
                (void) ppp_lwip_disconnect(hw);
            }
            return NSAPI_ERROR_NO_CONNECTION;
        }
    }
}

为什么我可能会从 osSemaphoreAcquire 超时? 我也尝试增加超时时间,但是徒劳无功。 如果有人可以帮助我,将不胜感激。 预先感谢。

0 个答案:

没有答案