乐鑫技术交流
直播中

李玉兰

7年用户 1469经验值
私信 关注
[问答]

ESP MCU的中断延迟是多少?

有谁知道 ESP MCU 的中断延迟是多少?

有没有办法直接连接/更改外设(在本例中为 HSPI)的中断向量,并且
不使用 ETS_SPI_INTR_ATTACH(isr_handler, void *)?

I have some time critical ISR processing and I'm getting around 5uS "practical" latency (approx 400 条说明!!!).

这正常吗?

回帖(1)

马占云

2024-7-8 11:37:39
ESP MCU(如ESP32)的中断延迟可能会因不同的因素而有所不同,例如中断优先级、中断服务例程(ISR)的复杂性和处理器负载。在您的情况下,5微秒的延迟可能是正常的,但这取决于您的具体应用需求。

关于直接连接或更改外设(如HSPI)的中断向量,而不使用ETS_SPI_INTR_ATTACH(isr_handler,void *),您可以尝试以下方法:

1. 检查ESP32的技术参考手册,了解中断向量表和中断号。这将帮助您找到与HSPI相关的中断向量。

2. 使用Xtensa开发工具包(ESP32-Dev-Kit)中的中断向量表,找到与HSPI相关的中断向量。您可以在Xtensa开发工具包的文档中找到相关信息。

3. 在您的代码中,使用Xtensa汇编语言直接修改中断向量表。这将允许您将自定义的ISR函数与HSPI中断向量关联起来。请注意,这种方法可能会影响系统的稳定性和可维护性。

4. 在自定义ISR函数中,确保您的代码尽可能简洁高效,以减少中断处理时间。

5. 如果可能的话,考虑使用中断优先级来降低中断延迟。较高的中断优先级可以确保您的ISR更快地被调用。

6. 优化您的ISR处理逻辑,以减少执行的指令数量。这可以通过减少条件语句、循环和其他复杂操作来实现。

总之,虽然直接修改中断向量表可能不是最简单或最安全的方法,但在某些情况下,它可以帮助您实现更低的中断延迟。然而,在进行此类修改时,请确保您了解可能的风险,并在可能的情况下寻求专业建议。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分