xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_safe.h
浏览该文件的文档.
1
12
13
#ifndef __XT_SAFE_H__
14
#define __XT_SAFE_H__
15
16
/* ==================== [Includes] ========================================== */
17
18
#include "
xt_utils.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
30
31
/* ==================== [Defines] =========================================== */
32
33
/* ==================== [Typedefs] ========================================== */
34
38
#if !defined(XT_SAFE_CPU_BASE_64BITS)
39
typedef
uint32_t
xt_cpu_base_t
;
40
#else
41
typedef
uint64_t
xt_cpu_base_t
;
42
#endif
43
44
/* ==================== [Global Prototypes] ================================= */
45
51
xt_cpu_base_t
xt_safe_disable_irq
(
void
);
52
58
void
xt_safe_enable_irq
(
xt_cpu_base_t
level);
59
65
xt_cpu_base_t
xt_safe_irq_is_enable
(
void
);
66
67
/* ==================== [Macros] ============================================ */
68
69
#define xt_disable_irq() xt_safe_disable_irq()
70
#define xt_enable_irq(level) xt_safe_enable_irq(level)
71
#define xt_irq_is_enable() xt_safe_irq_is_enable()
72
73
#if !defined(XT_CRIT_STAT)
74
# define XT_CRIT_STAT() xt_cpu_base_t __l_irq_rest
75
#endif
76
#if !defined(XT_CRIT_ENTRY)
77
# define XT_CRIT_ENTRY() do { __l_irq_rest = xt_safe_disable_irq(); } while(0)
78
#endif
79
#if !defined(XT_CRIT_EXIT)
80
# define XT_CRIT_EXIT() do { xt_safe_enable_irq(__l_irq_rest); } while(0)
81
#endif
82
/* xt_safe */
84
85
#ifdef __cplusplus
86
}
/* extern "C" */
87
#endif
88
89
#endif
/* __XT_SAFE_H__ */
xt_safe_irq_is_enable
xt_cpu_base_t xt_safe_irq_is_enable(void)
查询中断是否使能
xt_safe_enable_irq
void xt_safe_enable_irq(xt_cpu_base_t level)
恢复全局中断
xt_cpu_base_t
uint32_t xt_cpu_base_t
CPU 基础类型(中断状态保存用)
定义
xt_safe.h:39
xt_safe_disable_irq
xt_cpu_base_t xt_safe_disable_irq(void)
关闭全局中断
xt_utils.h
XTINY 通用工具函数集合(字节序、对齐读取、log2 等)
platforms
components
xtiny
xt_safe
xt_safe.h
生成于
, 为 xt-sdk 文档使用
1.17.0