os_in_isr

所属模块:运行环境检测 | 类型:上下文判断函数

API Metadata

函数ID:os_in_isr
模块:kernel
类型:context check
嵌套深度:1

函数简介

os_in_isr 用于判断当前代码是否运行在中断上下文中。 可用于区分任务与中断执行环境。

该函数在调度器设计和安全操作判断中具有重要作用。

函数原型

char os_in_isr(void);

参数说明

参数 说明
该函数不需要输入参数

返回值

1 - 当前运行在中断中
0 - 当前运行在任务中

源码实现

#include"hrtos_internal.h" /* * 判断当前代码运行环境 * * 返回值: * 1 - 当前运行在中断中 * 0 - 当前运行在任务中 */ char os_in_isr(void) { return OS_ISR_FLAG; }

使用示例

void log_event() { if(os_in_isr()) { // 中断环境:避免阻塞操作 return; } // 任务环境:允许复杂处理 process_log(); }

注意事项

该函数依赖 OS_ISR_FLAG,必须确保中断入口正确设置该标志。

相关推荐