gpt4 book ai didi

microcontroller - 如果我在其 ISR 中禁用中断会怎样?

转载 作者:行者123 更新时间:2023-12-04 07:15:52 32 4
gpt4 key购买 nike

如果在中断的 ISR 中禁用中断会发生什么情况?
例如,如果我正在通过 USART 从缓冲区传输数据并且该缓冲区用完了数据,那么我想暂时停止传输,因此在发送缓冲区中的最后一个字节后,我禁用中断。

(这是在 PIC18F4580 上)

PIC18F4580 的数据表指出,如果在 ISR 中禁用中断,“可能会出现不稳定的行为”。

最佳答案

我不太了解 PIC18F4580,但一般来说
在 ISR 中禁用中断没有任何问题

本质上这将阻止 ISR 再次被调用(即直到中断以某种方式重新启用),但它不应该影响 ISR 的逻辑,导致它终止或其他人们可能会想到一件奇怪的事情。
实际上,May ISR 通常会先禁用中断,以免它们在服务第一个中断时被打断(从而避免各种重入问题,以可能丢失事件为代价)。

当然,如果这对您的程序/逻辑的其余部分很重要,您需要计划如何/在何处重新启用中断。

关于microcontroller - 如果我在其 ISR 中禁用中断会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3791955/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com