gpt4 book ai didi

c - 冗余 IRQ 清除挂起操作

转载 作者:行者123 更新时间:2023-11-30 16:31:04 27 4
gpt4 key购买 nike

我正在开发一个使用 ARM Cortex-M0 处理器的项目。在这个项目中,我需要提供计时器支持(CMSDK (SSE-200)计时器)。

因此,在 vector 表中,在 TIMER0_IRQn 表示的正确条目中,我们放置了处理程序 timer0_irq_handler,其中包含以下代码:

void timer0_irq_handler(void)
{
NVIC_ClearPendingIRQ(TIMER0_IRQn)
my_timer_irq_handler(TIMER0)
}

我的问题是是否需要调用NVIC_ClearPendingIRQ,因为来自Cortex-M0 Devices Generic User Guide :

A pending interrupt remains pending until one of the following:

The processor enters the ISR for the interrupt. This changes the state of the interrupt from pending to active.

据我了解,这意味着当我们进入 ISR 时,中断挂起状态会自动清除,并且对 NVIC_ClearPendingIRQ 的调用可能是多余的。是吗?

最佳答案

它会自动清除。
您可以使用 NVIC_GetPendingIRQ() 检查它是否处于待处理状态。

关于c - 冗余 IRQ 清除挂起操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50814049/

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