0 前言
本文主要介绍如何enable和disable “QCLI_demo”的wlan功能。
1 enable wlan
Wlan相关命令(如扫描,连接,断开连接)以及网络命令(如DHCP,ping和运行流量)之前,需要先启用Wlan。 启用Wlan后,此命令还会执行以下操作。
(1)使用WLAN驱动程序注册应用程序回调。 此驱动程序通过此回调函数将各种异步事件通知给应用程序。
(2)调用qapi_WLAN_Add_Device()将每个WLAN虚拟设备注册到网络堆栈。在应用程序中执行任何其他初始化操作,这是完整功能的WLAN子系统所必需的。
以下展示在QCLI_demo中的代码实现:
extern int32_t enable_wlan(); QCLI_Command_Status_t enableWlan(uint32_t Parameter_Count, QCLI_Parameter_t *Parameter_List) { if (0 == enable_wlan()) { return QCLI_STATUS_SUCCESS_E; } QCLI_Printf(qcli_wlan_group, "ERROR: Operation failed\n"); return QCLI_STATUS_ERROR_E; }2 disable wlan
这会通过从网络堆栈取消注册WLAN虚拟设备并关闭WLAN驱动程序来禁用WLAN模块。 这将关闭WLAN子系统。 除非再次启用WLAN,否则此后无法执行WLAN操作。
以下展示在QCLI_demo中的代码实现:
extern int32_t disable_wlan(); QCLI_Command_Status_t disableWlan(uint32_t Parameter_Count, QCLI_Parameter_t *Parameter_List) { if (0 == disable_wlan()) { return QCLI_STATUS_SUCCESS_E; } QCLI_Printf(qcli_wlan_group, "ERROR: Operation failed\n"); return QCLI_STATUS_ERROR_E; }