0
即使在包含的HTTP獲取演示中,即使在嘗試連接之前,sdk_wifi_station_get_connect_status()也會返回255。當然它拒絕連接到 這個狀態沒有任何文檔。eps-open-rtos:sdk_wifi_station_get_connect_status返回255
這個問題有什麼建議嗎?
即使在包含的HTTP獲取演示中,即使在嘗試連接之前,sdk_wifi_station_get_connect_status()也會返回255。當然它拒絕連接到 這個狀態沒有任何文檔。eps-open-rtos:sdk_wifi_station_get_connect_status返回255
這個問題有什麼建議嗎?
,你需要配置一個任務內的ESP上user_init()函數,並調用函數sdk_wifi_station_get_connect_status()
#include "espressif/esp_common.h"
#include "esp/uart.h"
#include "FreeRTOS.h"
#include "task.h"
#include "ssid_config.h"
#include "esp8266.h"
void task1(void *pvParameters)
{
while (1)
{
check_wifi_connection();
}
}
void check_wifi_connection()
{
uint8_t status = sdk_wifi_station_get_connect_status();
while (status != STATION_GOT_IP)
{
status = sdk_wifi_station_get_connect_status();
vTaskDelay(ONE_SEC/portTICK_PERIOD_MS);
switch (status)
{
case STATION_WRONG_PASSWORD:
printf("WiFi: wrong password\n\r");
break;
case STATION_NO_AP_FOUND:
printf("WiFi: AP not found\n\r");
break;
case STATION_CONNECT_FAIL:
printf("WiFi: connection failed\r\n");
break;
case STATION_GOT_IP:
break;
default:
printf("%s: status = %d\n\r", __func__, status);
break;
}
}
}
void user_init(void)
{
uart_set_baud(0, BAUDRATE);
sdk_wifi_set_opmode(STATION_MODE);
sdk_wifi_station_set_auto_connect(true);
sdk_wifi_station_set_config(&config);// my config that
gpio_enable(gpio, GPIO_INPUT);
tsqueue = xQueueCreate(2, sizeof(uint32_t));
xTaskCreate(&task1,
"task1",
2048,
NULL,
tskIDLE_PRIORITY,
&task_handler);
}