os_interrupt_id
所属模块:中断系统 | 类型:中断信息获取函数
函数简介
os_interrupt_id 用于获取当前中断编号,
返回当前中断入口在系统中的自然顺序ID。
该函数通常用于中断调度、调试以及中断来源识别。
函数原型
char os_interrupt_id(void);
返回值
返回当前中断编号(0,2~31,根据自然入口顺序排列)。
源码实现
/*------------------------------------------------------------------------
| FILE DESCRIPTION |
------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
| - File name : interrupt_id.c
| - Author : 谭舒
| - Update date : 2026-09-19
| - Copyright(C) : 2026 HRTOS. All rights reserved.
------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
| INCLUDES |
------------------------------------------------------------------------*/
#include"hrtos_internal.h"
/*------------------------------------------------------------------------
| API FUNCTIONS |
------------------------------------------------------------------------*/
/**
* @brief 获取当前中断的中断编号。
*
* @param[in] None
*
* @return 中断编号。
* @retval 0 中断编号 0。
* @retval 2~31 按自然中断入口顺序排列的中断编号。
*
* @note 中断编号按照自然中断入口顺序进行分配。
*/
char os_interrupt_id()//中断编号 返回0,2-31 根据自然入口顺序排列
{
return OS_INTERRUPT_PROTECT;
}
/*------------------------------------------------------------------------
| END OF FILE: interrupt_id.c |
------------------------------------------------------------------------*/
使用示例
void interrupt_handler()
{
char id = os_interrupt_id();
if(id == 2)
{
// 处理外设2中断
}
}
注意事项
该函数依赖中断保护宏 OS_INTERRUPT_PROTECT,
必须在中断上下文中调用才有意义。