4.7.14. __disable_irq

此内在函数禁用 IRQ 中断。

语法


int __disable_irq(void)

Note

在 ARMv7 和 ARMv7-M 上,__disable_irq 内在函数具有以下原型:


void __disable_irq(void)

返回值

__irq 返回在禁用 IRQ 中断之前 IRQ 中断掩码在 PSR 中包含的值。

示例


void foo(void)

{

    int was_masked = __disable_irq();



    /* ... */



    if (!was_masked)

        __enable_irq();

}

限制

只能在特权模式(即非用户模式)下执行 __disable_irq 内在函数。 在用户模式下,此内在函数不会更改 CPSR 中的中断标记。

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential