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.

CC3200 的SL_NETAPP_IP_RELEASED_EVENT事件怎么被触发

Other Parts Discussed in Thread: CC3200

CC3200 的SL_NETAPP_IP_RELEASED_EVENT事件怎么被触发

  • SL_NETAPP_IP_RELEASED_EVENT – Notifies STA IP release; relevant in AP or P2P GO mode.
    Event parameters:
    • ip_address
    • mac
    • reason
    当断开sta连接事件发生后就会触发,具体看你在程序中如何使用
  • CC3200 作为AP时 客户端主动断开连接为什么不会触发这个事件
  • 在AP模式中,触发的是SL_NETAPP_IP_LEASED_EVENT事件,程序顺序执行,所以没有触发
    void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent)
    {
        switch(pNetAppEvent->Event)
        {
            case SL_NETAPP_IPV4_IPACQUIRED_EVENT:
            case SL_NETAPP_IPV6_IPACQUIRED_EVENT:
            {
                SET_STATUS_BIT(g_ulStatus, STATUS_BIT_IP_AQUIRED);
            }
            break;
            
            case SL_NETAPP_IP_LEASED_EVENT:
            {
                SET_STATUS_BIT(g_ulStatus, STATUS_BIT_IP_LEASED);
            
                g_ulStaIp = (pNetAppEvent)->EventData.ipLeased.ip_address;
                
                UART_PRINT("[NETAPP EVENT] IP Leased to Client: IP=%d.%d.%d.%d , ",
                            SL_IPV4_BYTE(g_ulStaIp,3), SL_IPV4_BYTE(g_ulStaIp,2),
                            SL_IPV4_BYTE(g_ulStaIp,1), SL_IPV4_BYTE(g_ulStaIp,0));
            }
            break;
            
            case SL_NETAPP_IP_RELEASED_EVENT:
            {
                CLR_STATUS_BIT(g_ulStatus, STATUS_BIT_IP_LEASED);
    
                UART_PRINT("[NETAPP EVENT] IP Released for Client: IP=%d.%d.%d.%d , ",
                            SL_IPV4_BYTE(g_ulStaIp,3), SL_IPV4_BYTE(g_ulStaIp,2),
                            SL_IPV4_BYTE(g_ulStaIp,1), SL_IPV4_BYTE(g_ulStaIp,0));
    
            }
            break;
    
            default:
            {
                UART_PRINT("[NETAPP EVENT] Unexpected event [0x%x] \n\r",
                           pNetAppEvent->Event);
            }
            break;
        }
    }



  • 触发有以下三个原因:

    peer released the IP address

    peer declined to this IP address

    Lease time was expired