Wi-Fi说明¶
Wi-Fi功能列表¶
兼容IEEE802.11 b/g/n 2.4GHz标准
支持HT20
支持802.11N MCS0-7
支持STA、AP and Direct Modes
支持Concurrent AP+STA
支持WPA、WPA2及WPA3等加密方式
支持AMPDU、QoS
Station模式下支持DTIM低功耗休眠
Wi-Fi callback 事件描述¶
static void app_demo_sta_rw_event_func(void *new_evt)
{
rw_evt_type notice_event = *((rw_evt_type *)new_evt);
switch(notice_event){
case RW_EVT_STA_CONNECTED:
bk_printf("conmected AP\r\n");
break;
case RW_EVT_STA_GOT_IP:
bk_printf("got ip success\r\n");
break;
case RW_EVT_STA_DISCONNECTED:
case RW_EVT_STA_BEACON_LOSE:
bk_printf("wifi had disconnected\r\n");
break;
case RW_EVT_STA_NO_AP_FOUND:
case RW_EVT_STA_PASSWORD_WRONG:
case RW_EVT_STA_ASSOC_FULL:
case RW_EVT_STA_CONNECT_FAILED:
bk_printf("wifi connect failed\r\n");
break;
case RW_EVT_AP_CONNECTED:
bk_printf("a station had connected\r\n");
break;
case RW_EVT_AP_DISCONNECTED:
bk_printf("a station had disconnected\r\n");
break;
case RW_EVT_AP_CONNECT_FAILED:
bk_printf("a station connect failed\r\n");
break;
default:
break;
}
}
bk_wlan_status_register_cb(app_demo_sta_rw_event_func)
如上面例子,wifi 初始化需要注册下事件回调,
RW_EVT_STA_CONNECTED
wifi 连接成功事件,仅是wifi 四次握手成功,还需要启动动DHCP服务获取IP地址或者使用静态IP地址,故用户不能在此事件就开始进行网络操作。
RW_EVT_STA_GOT_IP
STA已经成功连接并且DHCP 获取到IP 地址,接收到此事件后,用户可进行网络接口操作。
RW_EVT_STA_DISCONNECTED
RW_EVT_STA_BEACON_LOSE
STA与AP断开事件,接收到此事件后,一般需要通知针对基于套接字编写的客户端应用程序关闭套接字.如果此事件不是用户希望的,可以启动重连流程.
RW_EVT_STA_NO_AP_FOUND
RW_EVT_STA_PASSWORD_WRONG
RW_EVT_STA_ASSOC_FULL
RW_EVT_STA_CONNECT_FAILED
这几个事件都是连接失败的通知,用户可获取连接失败原因,然后进行重连