完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
芯片esp32s2,idf release v4.4,目前问题,io配置为边沿触发,需要采集上升沿下降沿之间的脉冲宽度,假如一个40ms的脉冲,在写文件系统时脉冲采集到的宽度为10-20ms,不写文件系统没问题,文件系统使用FATFS和littlefs都不行。
|
|
相关推荐
1个回答
|
|
这个问题可能是由于ESP32-S2在写文件系统时,中断处理被阻塞导致的。为了解决这个问题,我们可以尝试以下几种方法:
1. **优化中断处理函数**:确保中断处理函数尽可能高效,避免在中断处理函数中执行耗时的操作。如果可能,将一些耗时的任务移到主循环中处理。 2. **使用中断优先级**:在ESP32-S2中,可以设置中断优先级。尝试将IO中断的优先级设置为最高,以确保在写文件系统时,IO中断能够及时被处理。 3. **使用DMA(Direct Memory Access)**:如果可能,使用DMA来处理文件系统的读写操作。这样可以减轻CPU的负担,提高中断响应速度。 4. **使用RTOS(Real-Time Operating System)**:考虑使用RTOS来管理任务调度。RTOS可以帮助确保高优先级的任务(如IO中断处理)能够及时执行。 5. **调整文件系统配置**:尝试调整文件系统的配置,例如减少缓存大小,以减少写文件系统时对CPU的占用。 6. **使用非阻塞式文件系统操作**:如果可能,使用非阻塞式文件系统操作,这样在执行文件系统操作时,不会阻塞其他任务的执行。 7. **调试和分析**:使用调试工具(如ESP-IDF的gdbstub)来分析程序的运行情况,找出可能导致中断响应不及时的原因。 8. **升级ESP-IDF版本**:虽然你使用的是ESP-IDF v4.4,但可以尝试升级到最新版本,看看是否有相关的修复或改进。 9. **硬件检查**:确保硬件连接正确,没有其他干扰导致中断响应不及时。 通过尝试以上方法,希望能够解决你在写文件系统时IO外部中断触发不及时的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
540浏览 6评论
453浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
434浏览 5评论
436浏览 4评论
409浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 01:23 , Processed in 0.825701 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号