TI工程师,你好,
我在调试CC3100 getting_started_with_wlan_station 例子程序的时候,程序总会在一条语句里面停下来:
/* Wait */
while((!IS_CONNECTED(g_Status)) || (!IS_IP_AQUIRED(g_Status))) { _SlNonOsMainLoopTask(); }
g_Status的值一直都是0,然后程序就一直卡在这里,不继续往下执行了。
比如下面的一个函数的:
static INT32 establishConnectionWithAP()
{
SlSecParams_t secParams = {0};
INT32 retVal = 0;
secParams.Key = PASSKEY;
secParams.KeyLen = strlen(PASSKEY);
secParams.Type = SEC_TYPE;
retVal = sl_WlanConnect(SSID_NAME, strlen(SSID_NAME), 0, &secParams, 0);
ASSERT_ON_ERROR(__LINE__, retVal);
/* Wait */
while((!IS_CONNECTED(g_Status)) || (!IS_IP_AQUIRED(g_Status))) { _SlNonOsMainLoopTask(); }
return SUCCESS;
}
不知道这个函数_SlNonOsMainLoopTask();到底是用来干吗的啊??仅仅是一个等待的函数吗?
还有g_Status的值是通过那个函数来改变的呢?是通过这几个函数不:void SimpleLinkWlanEventHandler(SlWlanEvent_t *pWlanEvent;
void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent);
static void SimpleLinkPingReport(SlPingReport_t *pPingReport);前两个函数貌似没有明显的去调用啊。