os_in_isr
所属模块:运行环境检测 | 类型:上下文判断函数
函数简介
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,必须确保中断入口正确设置该标志。