// 关闭 SOFTAP_MODE
WIFI_MODE mode =wifi_get_opmode();
mode &=~SOFTAP_MODE;if(!wifi_set_mode(mode)){os_printf("Failed to disable AP mode!\n");return false;// 开启 STATION_MODE
WIFI_MODE mode =wifi_get_opmode();if((mode & STATION_MODE)==0){
mode |= STATION_MODE;if(!wifi_set_mode(mode)){os_printf("Failed to enable Station mode!\n");return false;
使用软件定时器检查 WiFi 连接状态
LOCAL void ICACHE_FLASH_ATTR wait_for_connection_ready(uint8 flag)os_timer_disarm(&timer);if(wifi_station_connected()){os_printf("connected\n");}else{os_printf("reconnect after 2s\n");os_timer_setfn(&timer,(os_timer_func_t*)wait_for_connection_ready,NULL);os_timer_arm(&timer,2000,0);
LOCAL void ICACHE_FLASH_ATTR on_wifi_connect(){// 取消定时器定时os_timer_disarm(&timer);// 设置定时器回调函数,使⽤定时器,必须设置回调函数。os_timer_setfn(&timer,(os_timer_func_t*)wait_for_connection_ready,NULL);// 使能毫秒级定时器