XWOS API  3.0
XWOS API参考手册
载入中...
搜索中...
未找到
中断 的协作图:

函数

static xwer_t xwos_irq_enable (xwirq_t irqn)
 XWOS API:开启中断
 
static xwer_t xwos_irq_disable (xwirq_t irqn)
 XWOS API:关闭中断
 
static xwer_t xwos_irq_save (xwirq_t irqn, xwreg_t *flag)
 XWOS API:保存中断的开关,然后将其关闭
 
static xwer_t xwos_irq_restore (xwirq_t irqn, xwreg_t flag)
 XWOS API:恢复中断的开关
 
static xwer_t xwos_irq_get_id (xwirq_t *irqnbuf)
 XWOS API:判断当前的上下文是否为中断上下文,并取得当前中断的中断号
 
static void xwos_cpuirq_enable_lc (void)
 XWOS API:开启本地CPU的中断
 
static void xwos_cpuirq_disable_lc (void)
 XWOS API:关闭本地CPU的中断
 
static void xwos_cpuirq_restore_lc (xwreg_t cpuirq)
 XWOS API:恢复本地CPU的中断
 
static void xwos_cpuirq_save_lc (xwreg_t *cpuirq)
 XWOS API:保存然后关闭本地CPU的中断
 

详细描述

技术参考手册: 中断管理

CPU中断开关

外设中断

获取当前代码的中断号

外设中断的其他CAPI

C++

C++头文件: xwos/osal/irq.hxx

函数说明

◆ xwos_cpuirq_disable_lc()

static void xwos_cpuirq_disable_lc ( void  )
inlinestatic

XWOS API:关闭本地CPU的中断

注解
  • 上下文:任意

此函数运行在哪个CPU上,关闭的就是哪个CPU的中断。

在文件 irq.h158 行定义.

159{
160 xwosdl_cpuirq_disable_lc();
161}

◆ xwos_cpuirq_enable_lc()

static void xwos_cpuirq_enable_lc ( void  )
inlinestatic

XWOS API:开启本地CPU的中断

注解
  • 上下文:任意

此函数运行在哪个CPU上,开启的就是哪个CPU的中断。

在文件 irq.h145 行定义.

146{
147 xwosdl_cpuirq_enable_lc();
148}

◆ xwos_cpuirq_restore_lc()

static void xwos_cpuirq_restore_lc ( xwreg_t  cpuirq)
inlinestatic

XWOS API:恢复本地CPU的中断

参数
[in]cpuirq本地CPU的中断开关
注解
  • 上下文:任意

此函数运行在哪个CPU上,恢复的就是哪个CPU的中断。

在文件 irq.h172 行定义.

173{
174 xwosdl_cpuirq_restore_lc(cpuirq);
175}
这是这个函数的调用关系图:

◆ xwos_cpuirq_save_lc()

static void xwos_cpuirq_save_lc ( xwreg_t cpuirq)
inlinestatic

XWOS API:保存然后关闭本地CPU的中断

参数
[out]cpuirq指向缓冲区的指针,此缓冲区用于返回本地CPU的中断开关
注解
  • 上下文:任意

此函数运行在哪个CPU上,保存然后关闭的就是哪个CPU的中断。

在文件 irq.h186 行定义.

187{
188 xwosdl_cpuirq_save_lc(cpuirq);
189}
这是这个函数的调用关系图:

◆ xwos_irq_disable()

static xwer_t xwos_irq_disable ( xwirq_t  irqn)
inlinestatic

XWOS API:关闭中断

参数
[in]irqn中断号
返回
错误码
返回值
XWOK没有错误
-ERANGE中断号超出范围
-ENOSYS没有实现此功能
注解
  • 上下文:任意

在文件 irq.h79 行定义.

80{
81 return xwosdl_irq_disable(irqn);
82}

◆ xwos_irq_enable()

static xwer_t xwos_irq_enable ( xwirq_t  irqn)
inlinestatic

XWOS API:开启中断

参数
[in]irqn中断号
返回
错误码
返回值
XWOK没有错误
-ERANGE中断号超出范围
-ENOSYS没有实现此功能
注解
  • 上下文:任意

在文件 irq.h63 行定义.

64{
65 return xwosdl_irq_enable(irqn);
66}

◆ xwos_irq_get_id()

static xwer_t xwos_irq_get_id ( xwirq_t irqnbuf)
inlinestatic

XWOS API:判断当前的上下文是否为中断上下文,并取得当前中断的中断号

参数
[out]irqnbuf指向缓冲区的指针,通过此缓冲区返回当前中断号:
  • 返回结果仅当返回值为OK时有效
  • 可为NULL,表示不需要返回中断号
返回
错误码
返回值
XWOK当前上下文为中断
-ETHDCTX当前上下文为线程
-EBHCTX当前上下文为中断底半部
注解
  • 上下文:任意

在文件 irq.h132 行定义.

133{
134 return xwosdl_irq_get_id(irqnbuf);
135}

◆ xwos_irq_restore()

static xwer_t xwos_irq_restore ( xwirq_t  irqn,
xwreg_t  flag 
)
inlinestatic

XWOS API:恢复中断的开关

参数
[in]irqn中断号
[in]flag中断开关
返回
错误码
返回值
XWOK没有错误
-ERANGE中断号超出范围
-ENOSYS没有实现此功能
注解
  • 上下文:任意

在文件 irq.h114 行定义.

115{
116 return xwosdl_irq_restore(irqn, flag);
117}

◆ xwos_irq_save()

static xwer_t xwos_irq_save ( xwirq_t  irqn,
xwreg_t flag 
)
inlinestatic

XWOS API:保存中断的开关,然后将其关闭

参数
[in]irqn中断号
[out]flag指向缓冲区的指针,此缓冲区用于返回中断开关
返回
错误码
返回值
XWOK没有错误
-ERANGE中断号超出范围
-ENOSYS没有实现此功能
-EFAULT空指针
注解
  • 上下文:任意

在文件 irq.h97 行定义.

98{
99 return xwosdl_irq_save(irqn, flag);
100}