当前位置: 首页 > 文档资料 > YoC 编程基础 >

IRQ

优质
小牛编辑
117浏览
2023-12-01

说明

IRQ用于管理系统中的中断相关的功能,包括低功耗的中断唤醒,中断服务函数的注册等。

接口列表

函数说明
csi_irq_enable使能中断号对应的中断
csi_irq_disable禁止中断号对应的中断
csi_irq_attach注册中断号的服务函数
csi_irq_detach注销中断号对应的服务函数
csi_irq_priority设置中断优先级
csi_irq_is_enabled查询中断是否使能
csi_irq_enable_wakeup使能中断号唤醒功能
csi_irq_disable_wakeup禁止中断号唤醒功能
csi_irq_context判断是否在中断处理中
do_irq统一中断入口

IRQ的CSI接口在用户对接时是否必须适配的说明如下所示:

函数是否必须适配
csi_irq_enable必须
csi_irq_disable必须
csi_irq_attach必须
csi_irq_detach必须
csi_irq_priority必须
csi_irq_is_enabled非必须
csi_irq_enable_wakeup非必须
csi_irq_disable_wakeup非必须
csi_irq_context非必须
do_irq非必须

接口详细说明

csi_irq_enable

__ALWAYS_STATIC_INLINE void csi_irq_enable(uint32_t irq_num)
  • 功能描述:

    • 使能中断号对应的中断
  • 参数:

    • irq_num: 中断号

csi_irq_disable

__ALWAYS_STATIC_INLINE void csi_irq_disable(uint32_t irq_num)
  • 功能描述:

    • 关闭中断号对应的中断
  • 参数:

    • irq_num: 中断号

csi_irq_attach

void csi_irq_attach(uint32_t irq_num, void *irq_handler, csi_dev_t *dev)
  • 功能描述:

    • 注册中断号与设备对应的中断服务函数
  • 参数:

    • irq_num: 中断号
    • irq_handler: 中断服务函数
    • dev: CSI设备

csi_irq_detach

void csi_irq_detach(uint32_t irq_num)
  • 功能描述:

    • 注销中断号对应的中断服务函数
  • 参数:

    • irq_num: 中断号

csi_irq_priority

__ALWAYS_STATIC_INLINE void csi_irq_priority(uint32_t irq_num, uint32_t priority)
  • 功能描述:

    • 设置中断的优先级。
  • 参数:

    • irq: 中断号
    • priority:优先级

csi_irq_is_enabled

static inline bool csi_irq_is_enabled(uint32_t irq_num)
  • 功能描述:

    • 查看中断是否使能
  • 参数:

    • irq_num: 中断号
  • 返回值:

    • true表示已经使能,false表示未使能

csi_irq_enable_wakeup

__ALWAYS_STATIC_INLINE void csi_irq_enable_wakeup(uint32_t irq_num)
  • 功能描述:

    • 使能对应中断的唤醒功能,用于低功耗模式唤醒
  • 参数:

    • irq_num: 中断号

csi_irq_disable_wakeup

__ALWAYS_STATIC_INLINE void csi_irq_disable_wakeup(uint32_t irq_num)
  • 功能描述:

    • 关闭对应中断的唤醒功能,用于低功耗模式唤醒
  • 参数:

    • irq_num: 中断号

csi_irq_context

bool csi_irq_context(void)
  • 功能描述:

    • 查询当前是否处于中断中
  • 返回值:

    • true为处于中断,false为不处于中断中

do_irq

void do_irq(uint32_t irq_num)
  • 功能描述:

    • 统一中断入口函数
  • 参数:

    • irq_num: 中断号