完善资料让更多小伙伴认识你,还能领取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. **检查硬件问题**:如果以上方法都无法解决问题,可能是硬件存在问题。检查您的设备是否正确连接,并确保所有硬件组件正常工作。 最后,请确保您的代码在嗅探过程中不会干扰其他系统功能。在某些情况下,过度的嗅探可能会影响设备的稳定性和性能。希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
1140 浏览 1 评论
577浏览 6评论
478浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
462浏览 5评论
463浏览 4评论
438浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:01 , Processed in 0.733427 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号