完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们的一个项目需要处理WIFI事件的回调,我们注册了WIFI回调了,但是收不到事件,从LOG看,一直会打印如发送事件失败,LOG如下:
SDK version:1.3.0(68c9e7b) mode : sta(5c:cf:7f:12:65:42) + softAP(5e:cf:7f:12:65:42) add if0 dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1) add if1 bcn 100 send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error add 1 aid 1 station: 68:3e:34:61:d5:61 join, AID = 1 send EVENT_SOFTAPMODE_STACONNECTED failed send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error send EVENT_SOFTAPMODE_PROBEREQRECVED error 我们的代码如下: extern void led_wifi_event_handle(System_Event_t *event); void ICACHE_FLASH_ATTR user_init(void) { wifi_set_event_handler_cb(led_wifi_event_handle); // Change CPU FREQ to 160MHZ system_update_cpu_freq(SYS_CPU_160MHZ); // Add by Harry uart_init_new(); os_printf("SDK version:%sn", system_get_sdk_version()); // Wifi init led_wifi_init(); } void IRAM_ATTR led_wifi_event_handle(System_Event_t *event) { os_printf("led_wifi_event_handle evt = %dn",event->event_id); } 使用的是wifi_set_opmode(STATIONAP_MODE); 请问这是什么原因? |
|
相关推荐
1个回答
|
|
从您提供的日志来看,似乎您的项目在处理WIFI事件回调时遇到了一些问题。以下是一些建议和可能的原因,以及如何解决这些问题:
1. **检查回调函数的实现**: 确保您已经正确实现了回调函数,并且已经注册了这些回调函数。请检查您的代码,确保回调函数的签名与ESP-IDF中定义的回调函数签名相匹配。 2. **检查回调函数的注册**: 确保您已经正确注册了回调函数。在ESP-IDF中,您需要调用`esp_event_loop_create_default()`函数来创建事件循环,并将回调函数注册到事件循环中。请检查您的代码,确保您已经正确调用了这些函数。 3. **检查ESP-IDF版本**: 您提到的SDK版本是1.3.0,这个版本可能已经过时。建议您升级到最新版本的ESP-IDF,以确保您使用的是最新的功能和修复。您可以访问[ESP-IDF GitHub仓库](https://github.com/espressif/esp-idf)获取最新版本的代码。 4. **检查WIFI模式**: 从日志中可以看到,您的设备处于STA(station,即客户端)模式和SoftAP(soft access point,即软AP)模式。请确保您的设备在正确的模式下运行,并且您的回调函数能够处理这两种模式的事件。 5. **检查事件类型**: 日志中显示的事件类型是`EVENT_SOFTAPMODE_PROBEREQRECVED`,这意味着您的设备收到了一个Probe Request。请确保您的回调函数能够正确处理这种类型的事件。同时,您可能需要检查其他事件类型,以确保您的回调函数能够处理所有相关的WIFI事件。 6. **检查日志级别**: 请确保您的日志级别设置正确。在ESP-IDF中,您可以使用`esp_log_level_set()`函数来设置日志级别。如果您的日志级别设置得太低,可能会导致一些重要的信息没有被打印出来。 7. **检查硬件和固件**: 请确保您的硬件和固件都是最新的,并且没有损坏。您可以尝试重新刷写固件,或者检查硬件连接是否正常。 8. **调试和测试**: 在开发过程中,调试和测试是非常重要的。您可以使用ESP-IDF提供的工具,如GDB,来调试您的代码。同时,您还可以使用ESP-IDF的单元测试框架来测试您的代码。 9. **参考文档和社区**: 请参考ESP-IDF的官方文档,以获取更多关于WIFI事件回调的信息。同时,您还可以加入ESP-IDF的社区,与其他开发者交流经验和解决问题。 通过以上建议,希望您能够找到问题的原因,并解决WIFI事件回调的问题。如果您仍然遇到问题,建议您在ESP-IDF的GitHub仓库中提交一个issue,或者在相关社区中寻求帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:21 , Processed in 0.810017 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号