完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我尝试嗅探wifi,但发现看门狗在嗅探时每分钟都会重置一次。
代码如下: #include "ets_sys.h" #include "driver/uart.h" #include "osapi.h" #include "at.h" #include "user_interface.h" static void promisc_cb(uint8_t *buf, uint16_t len) { uart0_sendStr("testn"); } void sniffer_system_init_done(void) { // Set up promiscuous callback wifi_set_channel(1); wifi_promiscuous_enable(0); wifi_set_promiscuous_rx_cb(promisc_cb); wifi_promiscuous_enable(1); uart0_sendStr("sniffer_system_init_done"); } 外部uint8_t at_wifiMode; extern void user_esp_platform_load_param(void *param, uint16 len); void user_init(void) { uint8_t userbin; uint32_t upFlag; at_uartType tempUart; user_esp_platform_load_param((uint32 *)&tempUart, sizeof(at_uartType)); if(tempUart.saved == 1) { uart_init(tempUart.baud, BIT_RATE_115200); } else { uart_init(BIT_RATE_115200, BIT_RATE_115200); } //at_wifiMode = wifi_get_opmode(); os_delay_us(100); wifi_set_opmode(STATION_MODE); system_init_done_cb(sniffer_system_init_done); os_printf("rn准备!!!rn"); uart0_sendStr("rn准备rn"); at_init(); } 结果如下: WDT 复位 负载 0x40100000,LEN 25724,房间 16 尾部 12 Chksum 0x4e HO 0 尾 12 室 4 负载 0x3ffe8000,LEN 3428,房间 12 尾 8 Chksum 0xf9 负载 0x3ffe8d70,len 6724,房间 0 尾部 4 Chksum 0x06 CSUM 0x06 s$ 准备 sniffer_system_init_doney |
|
相关推荐
1个回答
|
|
|
从您提供的代码片段来看,您正在尝试在ESP8266或类似设备上实现WiFi嗅探功能。看门狗(Watchdog)是一种用于防止系统长时间无响应的机制。当看门狗定时器到期时,它会重置系统。在这种情况下,看门狗可能在嗅探过程中被触发,导致每分钟重置一次。
要解决这个问题,您可以尝试以下方法: 1. **禁用看门狗**:在某些情况下,看门狗可能会干扰正常的程序运行。您可以尝试禁用看门狗,以消除其对程序的影响。在您的代码中,您可以在初始化部分添加以下代码: ```c void ICACHE_FLASH_ATTR user_init(void) { // Disable watchdog system_soft_wdt_feed(); } ``` 2. **优化代码**:确保您的代码在嗅探过程中不会长时间占用CPU资源。这可以通过优化算法、减少不必要的操作或使用中断来实现。 3. **调整看门狗定时器**:如果您无法禁用看门狗,可以尝试增加看门狗定时器的时间。这可以通过修改看门狗定时器的配置来实现。在ESP8266中,您可以使用以下代码: ```c void ICACHE_FLASH_ATTR user_init(void) { // Set watchdog timeout to 2 minutes system_soft_wdt_init(120); } ``` 4. **定期喂狗**:在您的嗅探代码中,定期调用`system_soft_wdt_feed()`函数,以重置看门狗定时器。这可以确保看门狗不会在嗅探过程中触发。 5. **检查硬件问题**:如果以上方法都无法解决问题,可能是硬件存在问题。检查您的设备是否正确连接,并确保所有硬件组件正常工作。 最后,请确保您的代码在嗅探过程中不会干扰其他系统功能。在某些情况下,过度的嗅探可能会影响设备的稳定性和性能。希望这些建议能帮助您解决问题。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 21:28 , Processed in 0.649175 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
446
