esp8266的WIFI相关
void ICACHE_FLASH_ATTR
wifi_connect(char *ssid,char *password)
{
struct station_config stationConf;
wifi_set_opmode(STATION_MODE); //设置为STATION模式
os_strcpy(stationConf.ssid, "MI8"); //改成你自己的 路由器的用户名
os_strcpy(stationConf.password, "994723198"); //改成你自己的 路由器的密码
wifi_station_set_config(&stationConf); //设置WiFi station接口配置,并保存到 flash
//wifi_station_connect();
os_printf("ssid:%s\r\n",stationConf.ssid);
os_printf("password:%s\r\n",stationConf.password);
}
这里遇到一个问题,我发现
user_init
里面不能有死循环,因为不想单片机一样,这虽然没用操作系统,但是感觉就像操作系统一 样,大部分的操作都在回调函数里面执行,如果用死循环限制他,他就不能干其他事情了
void ICACHE_FLASH_ATTR
user_init(void)
{
//里面不能有死循环,因为不想单片机一样,这虽然没用操作系统,但是感觉就像操作系统一样,大部分的操作都在回调函数里面执行,如果用死循环限制他,他就不能干其他事情了
}
void ICACHE_FLASH_ATTR
wifi_connect(char *ssid,char *password)
{
struct station_config stationConf;
wifi_set_opmode(STATION_MODE); //设置为STATION模式
// os_strcpy(stationConf.ssid, "MI8"); //改成你自己的 路由器的用户名
// os_strcpy(stationConf.password, "994723198"); //改成你自己的 路由器的密码
wifi_station_get_config_default(&stationConf);
wifi_station_set_config(&stationConf); //设置WiFi station接口配置,并保存到 flash
os_printf("ssid:%s\r\n",stationConf.ssid);
os_printf("password:%s\r\n",stationConf.password);
}
void ICACHE_FLASH_ATTR
wifi_softap(char *ssid,char *password)
{
struct softap_config softapconfig;
wifi_set_opmode(SOFTAP_MODE); //设置为softap模式
os_strcpy(softapconfig.ssid,ssid); //改成你自己的 路由器的用户名
os_strcpy(softapconfig.password, password); //改成你自己的 路由器的密码
softapconfig.ssid_len=strlen(ssid);//长度
softapconfig.authmode=AUTH_WPA2_PSK;//加密模式
softapconfig.channel=11;//用通道11 自己设定
softapconfig.max_connection=4;//最大连接数
softapconfig.ssid_hidden=false;//不隐藏wifi
wifi_softap_set_config(&softapconfig);//
os_printf("ssid:%s\r\n",softapconfig.ssid);
os_printf("password:%s\r\n",softapconfig.password);
}