__disable_irq是在哪里定义的

在原代码中见到__disable_irq(),看起来像是一个函数,更像一个宏定义。

可以,到底是在哪里定义的呢?

编译能通过,编译后用KEIL的“Go To Difinition”的方法,也找不到。

查找该文件的头文件,系统相关的头文件只有:

#include "LPC177x_8x.h"


在该文件中也没有搜到“__disable_irq”

但找到以下行,说明它又包含了别的头文件:

#include "core_cm3.h"


这个头文件里也没有找到定义。

进一步查找,它又包含了新的头文件:

#include "core_cmFunc.h" 


终于现身了:

__attribute__( ( always_inline ) ) static __INLINE void __enable_irq(void)
{
  __ASM volatile ("cpsie i");
}



你可能感兴趣的:(KEIL-MDK开发环境,经验案例)