Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
WIFI模块_RW007
10
虚心求教,为什么我的wifi模块会报错,仿照星火一号开发版的基于开发板项目的示例工程05-iot-wifi-manager所编写
发布于 2025-07-07 17:29:48 浏览:164
订阅该版
仿照星火一号开发版的基于开发板项目的示例工程05-iot-wifi-manager所编写 ```c main.c int main(void) { th1 = rt_thread_create("wifi", wifi_thread_entry, NULL, 2048, 9, 5); if(th1 == RT_NULL) { LOG_E("create failed\n"); return -ENOMEM; } rt_thread_startup(th1); return 0; } ``` ```c wifi.c #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define WLAN_SSID "mofish" #define WLAN_PASSWORD "11111111" #define NET_READY_TIME_OUT (rt_tick_from_millisecond(15 * 1000)) void print_wlan_information(struct rt_wlan_info *info,int index); int wifi_autoconnect(void); struct rt_semaphore net_ready; struct rt_semaphore scan_done; struct rt_wlan_info info; /* 执行扫描 */ void saomiaoredian(void) { static int i = 0; int result = RT_EOK; rt_sem_init(&scan_done,"scan_done",0,RT_IPC_FLAG_FIFO); rt_wlan_register_event_handler(RT_WLAN_EVT_SCAN_REPORT, wlan_scan_report_hander,&i); rt_wlan_register_event_handler(RT_WLAN_EVT_SCAN_DONE, wlan_scan_done_hander,RT_NULL); if(rt_wlan_scan() == RT_EOK) { LOG_D("the scan is started..."); }else { LOG_E("scan failed"); } /* 等待扫描完毕 */ rt_sem_take(&scan_done,RT_WAITING_FOREVER); } void wlan_scan_report_hander(int event,struct rt_wlan_buff *buff,void *parameter) { struct rt_wlan_info *info = RT_NULL; int index = 0; RT_ASSERT(event == RT_WLAN_EVT_SCAN_REPORT); RT_ASSERT(buff != RT_NULL); RT_ASSERT(parameter != RT_NULL); info = (struct rt_wlan_info *)buff->data; index = *((int *)(parameter)); print_wlan_information(info,index); ++ *((int *)(parameter)); } void wlan_scan_done_hander(int event,struct rt_wlan_buff *buff,void *parameter) { RT_ASSERT(event == RT_WLAN_EVT_SCAN_DONE); rt_sem_release(&scan_done); } void wlan_ready_handler(int event, struct rt_wlan_buff *buff, void *parameter) { rt_sem_release(&net_ready); } /* 断开连接回调函数 */ void wlan_station_disconnect_handler(int event, struct rt_wlan_buff *buff, void *parameter) { LOG_I("disconnect from the network!"); } void wlan_connect_handler(int event, struct rt_wlan_buff *buff, void *parameter) { rt_kprintf("%s\n", __FUNCTION__); if ((buff != RT_NULL) && (buff->len == sizeof(struct rt_wlan_info))) { rt_kprintf("ssid : %s \n", ((struct rt_wlan_info *)buff->data)->ssid.val); } } void wlan_connect_fail_handler(int event, struct rt_wlan_buff *buff, void *parameter) { rt_kprintf("%s\n", __FUNCTION__); if ((buff != RT_NULL) && (buff->len == sizeof(struct rt_wlan_info))) { rt_kprintf("ssid : %s \n", ((struct rt_wlan_info *)buff->data)->ssid.val); } } void lianjie() { int result = RT_EOK; /* 热点连接 */ LOG_D("start to connect ap ..."); rt_sem_init(&net_ready, "net_ready", 0, RT_IPC_FLAG_FIFO); /* 注册 wlan ready 回调函数 */ rt_wlan_register_event_handler(RT_WLAN_EVT_READY, wlan_ready_handler, RT_NULL); /* 注册 wlan 断开回调函数 */ rt_wlan_register_event_handler(RT_WLAN_EVT_STA_DISCONNECTED, wlan_station_disconnect_handler, RT_NULL); /* 同步连接热点 */ result = rt_wlan_connect(WLAN_SSID, WLAN_PASSWORD); if (result == RT_EOK) { rt_memset(&info, 0, sizeof(struct rt_wlan_info)); /* 获取当前连接热点信息 */ rt_wlan_get_info(&info); LOG_D("station information:"); print_wlan_information(&info,0); /* 等待成功获取 IP */ result = rt_sem_take(&net_ready, NET_READY_TIME_OUT); if (result == RT_EOK) { LOG_D("networking ready!"); msh_exec("ifconfig", rt_strlen("ifconfig")); } else { LOG_D("wait ip got timeout!"); } /* 回收资源 */ rt_wlan_unregister_event_handler(RT_WLAN_EVT_READY); rt_sem_detach(&net_ready); } else { LOG_E("The AP(%s) is connect failed!", WLAN_SSID); } } void print_wlan_information(struct rt_wlan_info *info,int index) { char *security; if(index == 0) { rt_kprintf(" SSID MAC security rssi chn Mbps\n"); rt_kprintf("------------------------------- ----------------- -------------- ---- --- ----\n"); } { rt_kprintf("%-32.32s", &(info->ssid.val[0])); rt_kprintf("%02x:%02x:%02x:%02x:%02x:%02x ", info->bssid[0], info->bssid[1], info->bssid[2], info->bssid[3], info->bssid[4], info->bssid[5] ); switch (info->security) { case SECURITY_OPEN: security = "OPEN"; break; case SECURITY_WEP_PSK: security = "WEP_PSK"; break; case SECURITY_WEP_SHARED: security = "WEP_SHARED"; break; case SECURITY_WPA_TKIP_PSK: security = "WPA_TKIP_PSK"; break; case SECURITY_WPA_AES_PSK: security = "WPA_AES_PSK"; break; case SECURITY_WPA2_AES_PSK: security = "WPA2_AES_PSK"; break; case SECURITY_WPA2_TKIP_PSK: security = "WPA2_TKIP_PSK"; break; case SECURITY_WPA2_MIXED_PSK: security = "WPA2_MIXED_PSK"; break; case SECURITY_WPS_OPEN: security = "WPS_OPEN"; break; case SECURITY_WPS_SECURE: security = "WPS_SECURE"; break; default: security = "UNKNOWN"; break; } rt_kprintf("%-14.14s ", security); rt_kprintf("%-4d ", info->rssi); rt_kprintf("%3d ", info->channel); rt_kprintf("%4d\n", info->datarate / 1000000); } } int wifi_autoconnect(void) { /* Configuring WLAN device working mode */ rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION); /* Start automatic connection */ rt_wlan_config_autoreconnect(RT_TRUE); /* register event */ rt_wlan_register_event_handler(RT_WLAN_EVT_STA_CONNECTED, wlan_connect_handler, RT_NULL); rt_wlan_register_event_handler(RT_WLAN_EVT_STA_CONNECTED_FAIL, wlan_connect_fail_handler, RT_NULL); return 0; } void wifi_thread_entry(void *parameter) { saomiaoredian(); lianjie(); } ``` 这是编写的两个主要代码,然而烧录编译进去,wifi根本搜索不到  同时setting配置如下   (不知道是不是与我软件包安装不上去有关,但是我相关引脚的rtconfig.h文件什么都改了啊) 求大佬解惑
查看更多
xiaorui
认证专家
2025-07-08
小睿手办 https://item.taobao.com/item.htm?id=674889867009
看日志是WIFI 模块没有正常工作,一般是引脚配置不对,或者是引脚被复用了导致的,可以和示例工程对比下。
3
个回答
默认排序
按发布时间排序
zqdkxj
2025-07-07
这家伙很懒,什么也没写!
软件包是我手动自己添加的,开发板是星火一号开发板
Lu_盼盼
2025-07-13
这家伙很懒,什么也没写!
最后还是自己写驱动,只有理解好源码才是王道。
撰写答案
登录
注册新账号
关注者
0
被浏览
164
关于作者
zqdkxj
这家伙很懒,什么也没写!
提问
4
回答
2
被采纳
0
关注TA
发私信
相关问题
1
wlan设备测试,除了rw007模块,还有哪些可以测试?
2
rw007 开机进不了spi模式
3
RW007wifi模块扫描热点超时的问题
4
stm32f429+RW007 初始化一直失败???
5
RW007 TCP发送数据出现瞬间卡顿问题,请问是怎么回事?
6
关于K210使用RW007的注意
7
RW007 没有作为从机连接手机的例子吗?
8
RW007 运行异常
9
RW007 wifi 模块中断回环电阻的作用?
10
RW007模块有Arduino开发板上的例程吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
6
五分钟玩转RT-Thread新社区
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RSOC25】Day5 课程笔记:软件包相关知识
2
RT-Thread 夏令营 第五天笔记
3
【RSOC25】Day5 课程笔记:软件包和网络组件
4
【RSOC25】Day4 课程笔记:I/O设备和驱动框架
5
【RSOC25】Day3 课程笔记:线程间同步和通信
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
ART-Pi
FinSH
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
cubemx
I2C_IIC
UART
WIZnet_W5500
BSP
ESP8266
PWM
ota在线升级
packages_软件包
flash
freemodbus
GD32
潘多拉开发板_Pandora
编译报错
ADC
keil_MDK
flashDB
rt_mq_消息队列_msg_queue
ulog
socket
MicroPython
msh
中断
Debug
SFUD
at_device
SDIO总线
本月问答贡献
Ryan_CW
3
个答案
3
次被采纳
D1sguIse_
6
个答案
2
次被采纳
用户名由3_15位
6
个答案
1
次被采纳
三世执戟
4
个答案
1
次被采纳
xiaorui
2
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部