营销网站更受用户欢迎的原因是个人博客系统毕业设计论文
- 作者: 五速梦信息网
- 时间: 2026年04月20日 06:59
当前位置: 首页 > news >正文
营销网站更受用户欢迎的原因是,个人博客系统毕业设计论文,wordpress怎么加锚文本,外贸推广系统引言
我所计划的WS63E测试要实现MQTT联网#xff0c;所以首先需要确保开发板连接WiFi。今天来测试一下WiFi功能。
程序分析
WiFi客户端的例子在src/application/samples/wifi/sta_sample目录下。这个例子看上去和hi3861的例子差不多。
这段程序是一个用于嵌入式设备的Wi-F…引言
我所计划的WS63E测试要实现MQTT联网所以首先需要确保开发板连接WiFi。今天来测试一下WiFi功能。
程序分析
WiFi客户端的例子在src/application/samples/wifi/sta_sample目录下。这个例子看上去和hi3861的例子差不多。
这段程序是一个用于嵌入式设备的Wi-Fi StationSTA模式的示例程序它使用了LwIP网络堆栈和CMSIS-RTOS API。程序的主要目的是连接到一个指定的Wi-Fi网络并获取IP地址。以下是对程序的分析 头文件包含程序包含了多个头文件这些头文件提供了网络接口、Wi-Fi热点配置、基础类型定义、标准库、串口通信、操作系统服务、应用初始化和系统抽象层等功能的支持。 宏定义定义了一些常量如Wi-Fi接口名称的最大长度、SSID的最大长度、扫描AP的限制、MAC地址的长度等。 事件回调函数定义了两个静态函数wifi_scan_state_changed和wifi_connection_changed它们分别在Wi-Fi扫描状态变化和连接状态变化时被调用。 Wi-Fi事件结构体定义了一个wifi_event_stru结构体用于注册Wi-Fi事件回调。 状态枚举定义了一个枚举wifi_state_enum用于跟踪STA模式下的不同状态。 全局变量定义了一个全局变量g_wifi_state用于保存当前的Wi-Fi状态。 扫描事件回调函数wifi_scan_state_changed函数在扫描完成时被调用它将全局状态设置为扫描完成。 关联事件回调函数wifi_connection_changed函数在连接状态变化时被调用它根据连接是否成功更新全局状态。 匹配目标AP函数example_get_match_network函数用于在扫描结果中找到指定的网络并填充连接请求信息。 关联状态查询函数example_check_connect_status函数用于检查是否成功连接到AP。 DHCP状态查询函数example_check_dhcp_status函数用于检查是否成功获取IP地址。 STA功能函数example_sta_function函数是STA模式的主要逻辑它按照状态枚举的顺序执行操作包括启动扫描、连接到AP、获取IP地址等。 初始化函数sta_sample_init函数用于初始化Wi-Fi事件回调、等待Wi-Fi初始化完成并调用example_sta_function函数。 任务入口函数sta_sample_entry函数用于创建一个名为sta_sample_task的线程该线程运行sta_sample_init函数。 程序入口app_run函数调用sta_sample_entry函数启动STA模式的任务。
整体来看这个程序是一个完整的Wi-Fi Station模式的示例它展示了如何使用事件回调、状态机和网络接口来连接到一个Wi-Fi网络并获取IP地址。程序使用了CMSIS-RTOS API来创建线程和延时以及LwIP API来处理网络相关的操作。
程序测试
编译程序之前需要先修改程序中的SSID和密码设置。这个参数在example_get_match_network函数中。
td_s32 example_get_match_network(wifi_sta_config_stru expected_bss)
{td_s32 ret;td_u32 num 64; / 64:扫描到的Wi-Fi网络数量 /td_char expected_ssid[] my_softAP;td_char key[] my_password; / 待连接的网络接入密码 /td_bool find_ap TD_FALSE;td_u8 bss_index;/ 获取扫描结果 */td_u32 scan_len sizeof(wifi_scan_info_stru) * WIFI_SCAN_AP_LIMIT;wifi_scan_info_stru result osal_kmalloc(scan_len, OSAL_GFP_ATOMIC);if (result TD_NULL) {return -1;}memset_s(result, scan_len, 0, scan_len);ret wifi_sta_get_scan_info(result, num);if (ret ! 0) {osal_kfree(result);return -1;}/ 筛选扫描到的Wi-Fi网络选择待连接的网络 /for (bss_index 0; bss_index num; bss_index ) {if (strlen(expected_ssid) strlen(result[bss_index].ssid)) {if (memcmp(expected_ssid, result[bss_index].ssid, strlen(expected_ssid)) 0) {find_ap TD_TRUE;break;}}}/ 未找到待连接AP,可以继续尝试扫描或者退出 /if (find_ap TD_FALSE) {osal_kfree(result);return -1;}/ 找到网络后复制网络信息和接入密码 /if (memcpy_s(expected_bss-ssid, WIFI_MAX_SSID_LEN, expected_ssid, strlen(expected_ssid)) ! 0) {osal_kfree(result);return -1;}if (memcpy_s(expected_bss-bssid, WIFI_MAC_LEN, result[bss_index].bssid, WIFI_MAC_LEN) ! 0) {osal_kfree(result);return -1;}expected_bss-security_type result[bss_index].security_type;if (memcpy_s(expected_bss-pre_shared_key, WIFI_MAX_SSID_LEN, key, strlen(key)) ! 0) {osal_kfree(result);return -1;}expected_bss-ip_type 1; / 1IP类型为动态DHCP获取 */osal_kfree(result);return 0;
}
修改好SSID和密码就可以编译并下载程序了。程序启动后扫描附近的所有WiFi热点如果找到制定的热点就自动连接。 从这段日志看程序成功的连接到热点并通过DHCP协议获得了IP地址。
完整的程序日志如下
boot.
Flash Init Fail! ret 0x80001341
verify_public_rootkey secure verify disable!
verify_params_key_area secure verify disable!
verify_params_area_info secure verify disable!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
SSB Uart Init Succ!
SSB Flash Init Succ!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
Flashboot Uart Init Succ!
Flashboot Malloc Init Succ!
Flash Init Succ!
No need to fix SR!
flashboot version : 1.10.101
[UPG] upgrade init OK!
No need to upgrade…
flash_encrypt disable.
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
APP|Debug uart init succ.
[UPG] upgrade init OK!
APP|init_dev_addr, mac_addr:0x80,0x 0,0x73,0xdb,0x,0x,
xo_trim_temp_comp val:0 0
APP|AT uart init succ.
los_at_plt_cmd_register EXCUTE
APP|WARNING: main_initialise::thread[11] func is null
APP|[WIFI_STA_SAMPLE]::Create sta_sample_task succ.
cpu 0 entering schedulerAPP|btc open
[RADAR_LOG] alg ctrl read from nv [1][2][0][0][1][1][20]
device_main_init: 0!
hal_initialize_phy225
device_module_init:: succ!
cali_set_cali_mask:old[0x0] - new[0x1fa2]fe_rf_initialize
cali_offline_cali_entry enter
cali_set_cali_done_flag:old[0x0] - new[0x1]rf cali OK. time cost:22, ret:0
APP|[WIFI_STA_SAMPLE]::wifi_event_cb register succ.
APP|[WIFI_STA_SAMPLE]::wifi init succ.
drv_soc_ioctl ioctl_cmd-cmd7.
drv_soc_ioctl ioctl_cmd-cmd9.
drv_soc_ioctl ioctl_cmd-cmd17.
drv_soc_ioctl ioctl_cmd-cmd13.
drv_soc_ioctl ioctl_cmd-cmd35.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd2.
drv_soc_ioctl ioctl_cmd-cmd41.
APP|[WIFI_STA_SAMPLE]::STA enable succ.
APP|[WIFI_STA_SAMPLE]::Scan start!
drv_soc_ioctl ioctl_cmd-cmd14.
hmac_single_hal_device_scan_complete:vap[1] time[761] chan_cnt[13] chan_0[1] back[0] event[6] mode[0]
Scan::vap[1] find bss_num[28] in regdomain, other bss_num[0]
Srv:548:recive event 1
APP|[WIFI_STA_SAMPLE]::Scan done!.
Srv:1723:sta_scan_results cnt 28
APP|[WIFI_STA_SAMPLE]::Connect start.
Srv:find ssid[CU_fjGX] auth type[2] pairwise[1] ft_flag[0]
drv_soc_ioctl ioctl_cmd-cmd47.
drv_soc_ioctl ioctl_cmd-cmd47.
drv_soc_ioctl ioctl_cmd-cmd47.
drv_soc_ioctl ioctl_cmd-cmd16.
drv_soc_ioctl ioctl_cmd-cmd6.
drv_soc_ioctl ioctl_cmd-cmd6.
drv_soc_ioctl ioctl_cmd-cmd47.
APP|Hello world!
drv_soc_ioctl ioctl_cmd-cmd6.
drv_soc_ioctl ioctl_cmd-cmd5.
drv_soc_ioctl ioctl_cmd-cmd6.
drv_soc_ioctl ioctl_cmd-cmd6.
drv_soc_ioctl ioctl_cmd-cmd5.
drv_soc_ioctl ioctl_cmd-cmd1.
drv_soc_ioctl ioctl_cmd-cmd3.
drv_soc_ioctl ioctl_cmd-cmd1.
NOTICE:CONNECTED
drv_soc_ioctl ioctl_cmd-cmd6.
Srv:548:recive event 2
APP|[WIFI_STA_SAMPLE]::Connect succ!.
APP|[WIFI_STA_SAMPLE]::DHCP start.
xo update temp:4,diff:0,xo:0x3083c
APP|[WIFI_STA_SAMPLE]::STA DHCP success.
APP|[SYS INFO] mem: used:134448, free:229572; log: drop/all[0/0], at_recv 0.
APP|[SYS INFO] mem: used:134448, free:229572; log: drop/all[0/0], at_recv 0.
APP|[SYS INFO] mem: used:134448, free:229572; log: drop/all[0/0], at_recv 0.结语
WS63E上实现WiFi比较容易下一阶段将添加MQTT连接华为云的代码。
- 上一篇: 营销网站定制公司修改wordpress的语言
- 下一篇: 营销网站建设报价做茶评的网站
相关文章
-
营销网站定制公司修改wordpress的语言
营销网站定制公司修改wordpress的语言
- 技术栈
- 2026年04月20日
-
营销网站的功能构成百度竞价点击价格
营销网站的功能构成百度竞价点击价格
- 技术栈
- 2026年04月20日
-
营销网站的搭建dw网页制作教程主页子页
营销网站的搭建dw网页制作教程主页子页
- 技术栈
- 2026年04月20日
-
营销网站建设报价做茶评的网站
营销网站建设报价做茶评的网站
- 技术栈
- 2026年04月20日
-
营销网站建设的原则互联网行业都有哪些工作
营销网站建设的原则互联网行业都有哪些工作
- 技术栈
- 2026年04月20日
-
营销网站建设公司地址网络推广方案策划
营销网站建设公司地址网络推广方案策划
- 技术栈
- 2026年04月20日






