This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1290NCPDT:检查互联网连接状态

Guru**** 2387060 points
Other Parts Discussed in Thread: TM4C1290NCPDT
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1240086/tm4c1290ncpdt-check-the-internet-connectivity-status

器件型号:TM4C1290NCPDT

您好  

我在 CCS 版本12.2.0中使用 TM4C129ENCPDTI、在 TivaC 2.16.01.14中使用 TI-RTOS、在 XDCtools v 3.2.0.06_CORE 和编译器 ti-cgt-arm_20.2.7.LTS 和 wolfssl-3.9.10-stable 中使用 TI-RTOS。

我尝试   与 TM4C1290NCPDT 进行通信。我们已将电路板连接到路由器、并获得 IP 地址、同时将数据发送到服务器。 一段时间后网络连接丢失 ,而我 需要执行其他任务时, 如何检查网络连接是否丢失?  

我使用 httpsget 示例,一旦分配了 IP 地址,控制台打印"添加的网络",如果以太网链路关闭,它不会 打印到"删除的网络"。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我不是该领域的专家、但生成的 NDK 代码中实现了"添加网络"或"删除网络"代码。 请参见 httpget_pem4f.c 文件。 根据注释、从系统中删除 IP 地址绑定后、将打印"Network Remove"(网络删除)。  

    在没有充分了解 NDK 的情况下、我不知道使用 NDK API 来询问 PHY 的链路状态。 我认为您可能需要通过读取 PHY 状态寄存器来手动检查 PHY 链路是否接通。 查看以下代码片段、了解基于 lwIP 协议栈的非 TI-RTOS 以太网示例。 lwIPLinkDetect 在 lwIP 计时器中定期调用。  

    //*****
    //
    //该函数执行链路状态的定期检查并响应
    //如果它发生了相应的变化。
    //
    //*****
    #if LWIP_AUTOIP || LWIP_DHCP
    静态空
    lwIPLinkDetect (空)
    {
    bool bHaveLink;
    结构 ip_addr ip_addr;
    结构 ip_addr net_mask;
    结构 ip_addr gw_addr;

    //
    //查看是否存在活动链路。
    //
    bHaveLink = MAP_EMACPHYRead (EMAC0_BASE、PHY_PHY_ADDR、EPHY_BMSR)&
    EPHY_BMSR_LINKSTAT;

    //
    //如果链路状态没有改变,则返回而不执行任何其他操作。
    //
    if (bHaveLink == g_bLinkActive)
    {
    返回;

    这是完整的文件。

     e2e.ti.com/.../6888.lwiplib.c