#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
#include "esp_wifi.h"
#include <esp_wifi_types.h>
#include "nvs_flash.h"
#define ESP_WIFI_SSID "xjzgc2"
#define ESP_WIFI_PASS "xjzgcmm2"
void app_main(void)
{
esp_err_t ret_nvs = nvs_flash_init();
printf("ESP_NVS_STA: %d\n",ret_nvs);
//一、初始化
//创建一个LwIP 核心任务,并初始化 LwIP 相关工作。
//ESP_ERROR_CHECK(esp_netif_init());
esp_err_t ret_netif = esp_netif_init();
printf("ESP_NETIF_STA: %d\n",ret_netif);
//创建一个系统事件任务,并初始化应用程序事件的回调函数。该回调函数唯一的动作就是将事件中继到应用程序任务中。
//ESP_ERROR_CHECK(esp_event_loop_create_default());
esp_err_t ret_eventloop = esp_event_loop_create_default();
printf("ESP_EVELOOP_STA: %d\n",ret_eventloop);
//创建有 TCP/IP 堆栈的默认网络接口实例绑定 station
esp_netif_create_default_wifi_sta();
//创建 Wi-Fi 驱动程序任务,并初始化 Wi-Fi 驱动程序。
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
//ESP_ERROR_CHECK(esp_wifi_init(&cfg));
esp_err_t ret_wifi = esp_wifi_init(&cfg);
printf("ESP_WIFI_STA: %d\n",ret_wifi);
//printf("初始化完成!\n");
//二、配置
//设置wifi模式
//ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
esp_err_t ret_wifimode = esp_wifi_set_mode(WIFI_MODE_STA);
printf("ESP_WIFIMODE_STA: %d\n",ret_wifimode);
wifi_config_t wifi_config = {
.sta = {
.ssid = ESP_WIFI_SSID,
.password = ESP_WIFI_PASS,
.threshold.authmode = WIFI_AUTH_WPA2_PSK,
.pmf_cfg = {
.capable = true,
.required = false
},
},
};
//ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA,&wifi_config));
esp_err_t ret_wificonf = esp_wifi_set_config(ESP_IF_WIFI_STA,&wifi_config);
printf("ESP_WIFICONF_STA: %d\n",ret_wificonf);
//三、启动 Wi-Fi 驱动程序。
//ESP_ERROR_CHECK(esp_wifi_start());
esp_err_t ret_wifistart = esp_wifi_start();
printf("ESP_WIFISTART_STA: %d\n",ret_wifistart);
//printf("ESP_WIFI_START_STA: %d\n",esp_t1);
//进行wifi连接
esp_err_t esp_t2 = esp_wifi_connect();
printf("ESP_WIFI_CONNECT_STA: %d\n",esp_t2);
}
网友评论