### CC3200 Wi-Fi模块网络编程指南 #### 第五章 WLAN 本章节主要介绍如何使用CC3200 Wi-Fi模块进行WLAN网络连接的相关操作与配置方法。连接到WLAN网络是进行套接字通信的第一步,也是整个Wi-Fi应用的基础。 #### 5.1 手动连接 手动连接指的是用户程序主动调用Wi-Fi模块提供的API来进行WLAN网络连接的过程。 ##### 5.1.1 STA模式 在STA模式下,手动连接涉及以下步骤: 1. **调用API**:用户需要调用`sl_WlanConnect` API,并提供必要的参数,如接入点的SSID、安全类型以及密钥(如果适用)。 2. **实现回调函数**:此外,还需要实现一个回调函数来处理异步连接事件`SL_WLAN_CONNECT_EVENT`,以便及时获取连接状态的反馈。 具体来说,这些步骤可以通过以下方式实现: - 调用`sl_WlanConnect` API时,需要传递接入点的SSID、安全类型(例如开放式、WEP、WPA等)及密钥等相关信息。 - 在回调函数中,可以根据不同的事件类型(如连接成功、失败等)采取相应的处理措施,例如记录日志、提示用户等。 更多关于这些API的详细信息,可以在第18.2节或者doxygen文档中找到。 ##### 5.1.2 P2P模式 P2P模式下的手动连接细节将在第11章详细介绍。 #### 5.2 使用配置文件连接 除了手动连接之外,还可以通过配置文件的方式实现Wi-Fi连接。这种方式更加自动化,适用于批量设备的配置。 WLAN配置文件包含了连接到特定接入点所需的所有必要信息,比如SSID、安全类型和密钥等。配置文件被保存在设备的非易失性存储器(NVMEM)中,在设备重启后仍然有效。 为了处理配置文件,提供了以下几个API: - **sl_WlanProfileAdd**:用于向存储中添加新的配置文件。调用时需要提供SSID和安全信息,返回值表示存储位置的索引(共可存储7个配置文件)。 - **sl_WlanProfileDel**:用于删除存储中的特定配置文件或一次性删除所有配置文件。参数为配置文件的索引号。 - **sl_WlanProfileGet**:用于获取存储中特定配置文件的信息。同样需要提供配置文件的索引号作为参数。 具体的代码示例可以参考SDK中的示例项目,例如: ```c sl_WlanProfileDel(0xFF); // 删除所有配置文件 sl_WlanProfileAdd(SL_SEC_TYPE_OPEN, (unsigned char*)UNSEC_SSID_NAME, strlen(UNSEC_SSID_NAME), g_BSSID, 0, 0, 0, 0); // 添加不安全的AP配置 sl_WlanProfileAdd(SL_SEC_TYPE_WPA, (unsigned char*)SEC_SSID_NAME, strlen(SEC_SSID_NAME), g_BSSID, 1, (unsigned char*)SEC_SSID_KEY, strlen(SEC_SSID_KEY), 0); // 添加WPA的AP配置 ``` 更多关于这些API的使用方法,可以在doxygen文档中找到。 #### 5.3 连接策略 连接策略定义了设备如何选择接入点进行连接。可以通过调用`sl_WlanPolicySet` API来设置连接策略。该API允许修改或设置连接参数的策略。具体而言,连接策略有以下几种: - **自动**:设备将根据配置文件中的优先级(从高到低)尝试连接到接入点。配置文件最多可存储七个。设备会根据SSID、优先级、安全类型以及信号强度等因素来决定连接哪个接入点。设置该策略的代码示例为: ```c sl_WlanPolicySet(SL_POLICY_CONNECTION, SL_CONNECTION_POLICY(1, 0, 0, 0, 0), NULL, 0); ``` - **快速**:设备尝试连接到上次成功的接入点。这种模式下,“探测请求”不会在连接之前发送。设置该策略的代码示例为: ```c sl_WlanPolicySet(SL_POLICY_CONNECTION, SL_CONNECTION_POLICY(0, 1, 0, 0, 0), NULL, 0); ``` - **anyP2P**:仅适用于P2P模式。设置该策略的代码示例为: ```c sl_WlanPolicySet(SL_POLICY_CONNECTION, SL_CONNECTION_POLICY(0, 0, 0, 1, 0), NULL, 0); ``` - **autoSmartConfig**:用于自动SmartConfig模式。设置该策略的代码示例为: ```c sl_WlanPolicySet(SL_POLICY_CONNECTION, SL_CONNECTION_POLICY(0, 0, 0, 0, 1), NULL, 0); ``` 此外,还可以设置长睡眠间隔政策,例如: ```c unsigned short PolicyBuff[4] = {0, 0, 800, 0}; // PolicyBuff[2] 是最大睡眠时间(毫秒) ``` 通过这些API和策略,可以灵活地控制CC3200 Wi-Fi模块的网络连接行为,从而满足不同应用场景的需求。
- shenlinghe1102015-12-29资源可用,就是略少一点。
- WingoPower2018-05-23资源可用,就是略少
- lib_nxyc2017-09-29实用很有帮助
- 谁de如花2018-01-04资源可用,就是略少
- 粉丝: 2
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于springboot的结合疫情情况的婚恋系统.zip
- 基于springboot的就业信息管理系统--论文.zip
- 直连设备(单片机)端token自动计算(micropython)
- Java AOP 用户请求拦截token校验实践
- 基于springboot的篮球论坛系统--论文.zip
- 基于springboot的篮球竞赛预约平台--论文.zip
- 基于springboot的乐校园二手书交易管理系统--论文.zip
- Python课程大作业-基于深度学习的垃圾分类系统(源码+部署指南+报告ppt+全部文档).zip
- 基于springboot的桥牌计分系统.zip
- 基于Springboot的漫画网站--论文.zip
- H3C H3CIE-RS+ Lab实验备考.zip
- 基于springboot的企业客户信息反馈平台--论文.zip
- 基于springboot的沁园健身房预约管理系统.zip
- 基于springboot的人事管理系统--论文.zip
- 基于springboot的社区疫情防控平台.zip
- 基于三有源桥的模型预测控制仿真,可以独立控制输出侧两个端口的电压或者电流,动态响应快,也可以扩展至四有源桥电路