4.7.14. __disable_irq

이 내장 함수는 IRQ 인터럽트를 비활성화합니다.

구문

int __disable_irq(void)

Note

ARMv7 및 ARMv7-M의 __disable_irq 내장 함수에 있는 프로토타입은 다음과 같습니다.

void __disable_irq(void)

반환 값

__irq는 IRQ 인터럽트의 비활성화 이전에 PSR에 있는 IRQ 인터럽트 마스크의 값을 반환합니다.

예제

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 0348AK
Non-Confidential