完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ESP32-C3,ESP-IDF版本4.3.2
使用I2C驱动OLED(驱动芯片SSD1306),开机正常驱动显示,持续刷新屏幕,运行一段时间后,总是会出现如下错误: (1629509) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time: (1629509) task_wdt: - IDLE (CPU 0) (1629509) task_wdt: Tasks currently running: (1629509) task_wdt: CPU 0: esp_timer 添加LOG跟踪发现,出问题前,软件运行到componentsdriveri2c.c的第1238行i2c_hw_fsm_reset(i2c_num);返回后,就没有退出while,也没有退出当前函数i2c_master_cmd_begin,软件持续打印如上的喂狗失败的的LOG。 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您的ESP32-C3在使用ESP-IDF版本4.3.2和I2C驱动SSD1306 OLED时,出现了任务看门狗触发的问题。这个问题可能是由以下几个原因导致的:
1. **I2C通信冲突**:可能是I2C总线上存在其他设备,导致通信冲突。请确保I2C总线上没有其他设备或设备地址冲突。 2. **I2C时序问题**:可能是I2C通信时序不符合SSD1306的要求。请检查您的I2C配置,确保时钟频率和时序设置正确。 3. **I2C驱动问题**:可能是ESP-IDF中的I2C驱动存在问题。您可以尝试升级到较新的ESP-IDF版本,看看问题是否得到解决。 4. **OLED驱动问题**:可能是OLED驱动代码存在问题。请检查您的OLED驱动代码,确保没有逻辑错误或死循环。 5. **任务看门狗配置问题**:可能是任务看门狗的配置不当。请检查您的任务看门狗配置,确保其阈值设置合理。 6. **系统资源不足**:可能是系统资源不足,导致任务无法正常运行。请检查您的系统资源使用情况,确保有足够的内存和CPU资源。 为了解决这个问题,您可以尝试以下步骤: 1. **检查I2C总线**:确保I2C总线上没有其他设备或设备地址冲突。 2. **检查I2C配置**:检查您的I2C配置,确保时钟频率和时序设置正确。 3. **升级ESP-IDF**:尝试升级到较新的ESP-IDF版本,看看问题是否得到解决。 4. **检查OLED驱动代码**:检查您的OLED驱动代码,确保没有逻辑错误或死循环。 5. **调整任务看门狗配置**:检查您的任务看门狗配置,确保其阈值设置合理。 6. **优化系统资源使用**:检查您的系统资源使用情况,确保有足够的内存和CPU资源。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:29 , Processed in 0.815473 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号