app_isr_handlers
← 代码架构库 | ← 嵌入式工程架构 | ← 模块总览 | ← 主页
接收底层中断事件并转交给任务处理,不在中断中执行耗时业务。
| 内容 | 作用 |
|---|---|
| user_isr_handlers.h | 定义平台无关的中断事件和回调接口 |
| user_isr_handlers.c | 保存回调并分发中断事件 |
user_isr_handlers配置:
- 在
user_isr_handlers.h添加事件枚举:
typedef enum
{
USER_ISR_EVENT_XXX = 0,
USER_ISR_EVENT_MAX
} user_isr_event_t;- 在业务模块中编写回调:
static void xxx_isr_callback(user_isr_event_t event,
void *context,
void *argument)
{
(void)event;
(void)context;
(void)argument;
/* 只发送队列或释放信号量 */
}- 在初始化阶段注册回调:
user_isr_callback_register(USER_ISR_EVENT_XXX,
xxx_isr_callback,
NULL);- 在芯片 HAL 的中断回调中只做事件分发:
user_isr_dispatch(USER_ISR_EVENT_XXX, NULL);