WIFI-Station&AP连接
1.功能分析
1.1配置Wifi为Station, 连接到本地wifi网络
本地wifi网络, 需要知道SSID和password
配置wifi为station->动态内存分配配置参数结构体->赋值SSID&PASSWORD到参数中->设置参数到寄存器中->释放内容->连接wifi
1.2配置wifi为AP模式,PC机连接到wifi的AP
需要设置SSID,密码,加密模式(我们这里设置WAP2_PSK)
配置为AP->动态内容分配->获取当前参数->赋值ssid和password到参数中->设置加密模式->配置SSID长度为0(自动判断)->配置最大站点连接数4->设置参数到寄存器
2.功能实现
2.1Station
//设置为STATION模式
wifi_set_opmode(STATION_MODE);
//申请动态内容空间
struct station_config *config = (struct station_config *) \
zalloc(sizeof(struct station_config));
//给变量赋值
sprintf(config->ssid, SSID);
sprintf(config->password, PASSWORD);
//设置寄存器
wifi_station_set_config(config);
//释放内容
free(config);
//连接wifi
wifi_station_set_auto_connect(TRUE);
2.2AP
//设置为AP模式
wifi_set_opmode(SOFTAP_MODE);
printf("设置softap模式!");
//申请动态内容空间
struct softap_config *config = (struct softap_config *) \
zalloc(sizeof(struct softap_config));
printf("申请动态内存空间");
//获取config参数
wifi_softap_get_config(config);
printf("获取参数");
//给变量赋值
sprintf(config->ssid, SSID);
sprintf(config->password, PASSWORD);
printf("设置名称和密码");
//设置加密方式
config->authmode = AUTH_WPA_WPA2_PSK;
printf("设置加密方式");
//设置ssid长度
config->ssid_len = 0;
printf("设置ssid长度:0");
//设置最大连接数
config->max_connection = 4;
printf("设置最大连接数4");
//设置寄存器
wifi_softap_set_config(config);
printf("写入寄存器");
//释放内容
free(config);
printf("释放内存");
用手机搜索wifi可以看到有刚才新建的ssid
来源:CSDN
作者:cloudstep
链接:https://blog.csdn.net/cloudstep/article/details/104211708