要通过调用 WHD 中名为 "whd_wifi_scan" 的函数来设置多个 SSID,您需要修改扫描过滤器以包含多个 SSID。以下是逐步说明如何实现此目标:
1. 首先,您需要定义一个结构体数组来存储您想要扫描的 SSID。例如:
```c
cy_wcm_ssid_t ssid_list[3] = {
{
.ssid = "SSID1",
.ssid_length = strlen("SSID1")
},
{
.ssid = "SSID2",
.ssid_length = strlen("SSID2")
},
{
.ssid = "SSID3",
.ssid_length = strlen("SSID3")
}
};
```
2. 接下来,创建一个 `cy_wcm_scan_filter_t` 结构体并设置其类型为 `CY_WCM_SCAN_FILTER_TYPE_SSID`:
```c
cy_wcm_scan_filter_t scan_filter;
scan_filter.filter_type = CY_WCM_SCAN_FILTER_TYPE_SSID;
```
3. 然后,将您之前定义的 SSID 列表分配给 `scan_filter` 结构体的 `ssid_list` 和 `ssid_list_count` 字段:
```c
scan_filter.ssid_list = ssid_list;
scan_filter.ssid_list_count = 3; // 您定义的 SSID 数量
```
4. 最后,使用设置好的 `scan_filter` 结构体调用 `whd_wifi_scan` 函数:
```c
whd_result_t scan_result;
scan_result = whd_wifi_scan(whd_driver, &scan_filter, whd_scan_sync, NULL, NULL);
```
这样,您就可以通过调用 `whd_wifi_scan` 函数来设置多个 SSID 并进行扫描了。请确保您已经正确初始化了 WHD 驱动和相关的配置。
要通过调用 WHD 中名为 "whd_wifi_scan" 的函数来设置多个 SSID,您需要修改扫描过滤器以包含多个 SSID。以下是逐步说明如何实现此目标:
1. 首先,您需要定义一个结构体数组来存储您想要扫描的 SSID。例如:
```c
cy_wcm_ssid_t ssid_list[3] = {
{
.ssid = "SSID1",
.ssid_length = strlen("SSID1")
},
{
.ssid = "SSID2",
.ssid_length = strlen("SSID2")
},
{
.ssid = "SSID3",
.ssid_length = strlen("SSID3")
}
};
```
2. 接下来,创建一个 `cy_wcm_scan_filter_t` 结构体并设置其类型为 `CY_WCM_SCAN_FILTER_TYPE_SSID`:
```c
cy_wcm_scan_filter_t scan_filter;
scan_filter.filter_type = CY_WCM_SCAN_FILTER_TYPE_SSID;
```
3. 然后,将您之前定义的 SSID 列表分配给 `scan_filter` 结构体的 `ssid_list` 和 `ssid_list_count` 字段:
```c
scan_filter.ssid_list = ssid_list;
scan_filter.ssid_list_count = 3; // 您定义的 SSID 数量
```
4. 最后,使用设置好的 `scan_filter` 结构体调用 `whd_wifi_scan` 函数:
```c
whd_result_t scan_result;
scan_result = whd_wifi_scan(whd_driver, &scan_filter, whd_scan_sync, NULL, NULL);
```
这样,您就可以通过调用 `whd_wifi_scan` 函数来设置多个 SSID 并进行扫描了。请确保您已经正确初始化了 WHD 驱动和相关的配置。
举报