os_interrupt_id

所属模块:中断系统 | 类型:中断信息获取函数

API Metadata

函数ID:os_interrupt_id
模块:interrupt
类型:interrupt info
嵌套深度:1

函数简介

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, 必须在中断上下文中调用才有意义。

相关推荐