IRQ
说明
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
: 中断号