完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用esp32-aliyun sdk的联网,配合4.3的SDK来开发,在开启配网时候加上使用blufi来进行蓝牙配网,同时开启蓝牙和wifi时候就会出现wifi task看门狗复位,具体的信息如下。
" E (1870) wifi:sched is null, if=0 tid=7 flags=6402 E (1870) wifi:trc.c rcReachRetryLimit 1736 E (6870) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time: E (6870) task_wdt: - IDLE (CPU 0) E (6870) task_wdt: Tasks currently running: E (6870) task_wdt: CPU 0: wifi E (6870) task_wdt: CPU 1: IDLE E (6870) task_wdt: Print CPU 0 (current core) backtrace " |
|
相关推荐
1个回答
|
|
以下是一些建议来解决这个问题:
1. **优化任务优先级**:检查您的任务优先级设置,确保WiFi和蓝牙任务具有适当的优先级。您可以使用`vTaskPrioritySet()`函数来调整任务优先级。 2. **调整任务堆栈大小**:确保WiFi和蓝牙任务的堆栈大小足够大,以避免堆栈溢出。您可以使用`xTaskCreateStatic()`函数来创建具有足够堆栈大小的任务。 3. **使用时间片轮询调度**:尝试使用时间片轮询调度(round-robin scheduling)来平衡WiFi和蓝牙任务的处理。这可以通过调整`configUSE_TIME_SLICING`宏来实现。 4. **减少任务切换频率**:尽量减少任务切换的频率,以降低调度器的负载。您可以通过合并一些任务或使用事件标志(event flags)来实现这一点。 5. **检查任务阻塞**:确保您的任务没有长时间的阻塞操作,这可能导致调度器无法及时处理其他任务。您可以使用`vTaskDelay()`或`vTaskDelayUntil()`函数来实现任务的延时。 6. **使用看门狗定时器**:为WiFi和蓝牙任务设置看门狗定时器,以确保它们在超时后能够被重新调度。您可以使用`xTaskWatchDogReset()`函数来重置看门狗定时器。 7. **升级ESP32 SDK**:您提到使用的是4.3版本的SDK,可以尝试升级到较新的版本,以获取可能的修复和性能改进。 |
|
|
|
只有小组成员才能发言,加入小组>>
140 浏览 0 评论
1158 浏览 1 评论
584浏览 6评论
482浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
467浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 19:45 , Processed in 0.734788 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号