求教傻孩子
//! \brief The safe ATOM code section macro# define SAFE_ATOM_CODE(...) {\
istate_t tState = GET_GLOBAL_INTERRUPT_STATE();\
DISABLE_GLOBAL_INTERRUPT();\
__VA_ARGS__;\
SET_GLOBAL_INTERRUPT_STATE(tState);\
}
//! \brief Exit from the safe atom operations
# define EXIT_SAFE_ATOM_CODE() SET_GLOBAL_INTERRUPT_STATE(tState);
//! \brief ATOM code section macro
# define ATOM_CODE(...) {\
DISABLE_GLOBAL_INTERRUPT();\
__VA_ARGS__;\
ENABLE_GLOBAL_INTERRUPT();\
}
//! \brief Exit from the atom operations
# define EXIT_ATOM_CODE() ENABLE_GLOBAL_INTERRUPT();
SAFE_ATOM_CODE和 ATOM_CODE的使用场合有什么区别吗? ATOM_CODE会无条件的打开全局中断响应。很多场合你不想这样对吧? istate_t tState = GET_GLOBAL_INTERRUPT_STATE();
这个函数在Keil中如何实现呢?IAR中是提供获取中断状态的函数的__ATTRIBUTES __istate_t __get_interrupt_state(void); shuimubai 发表于 2014-10-19 21:26
istate_t tState = GET_GLOBAL_INTERRUPT_STATE();
这个函数在Keil中如何实现呢?IAR中是提供获取中断状态 ...
我也不知道,因为还没有实质性的对'MDK进行支持
页:
[1]