📄 hwapi_interrupt.h
字号:
/******************************************************************/
/* Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved. */
/*******************************************************************
File : hwapi_interrupt.h
Desc : 定义INTC的寄存器结构体\寄存器位的宏定义\接口函数
Author : huangxinyu
Date : 2007-05-30
Notes :
$Log: hwapi_interrupt.h,v $
Revision 1.5 2007/11/20 08:32:53 Linzhengyuan
删除关闭 OS timer 中断接口
Revision 1.4 2007/11/16 08:21:55 Lingzhaojun
提交开关OS中断宏,
Revision 1.3 2007/10/15 09:09:01 Huangxinyu
根据RK27提交修改driver
Revision 1.2 2007/10/08 02:38:43 Lingzhaojun
添加版本自动注释脚本
* huangxinyu 2007-06-01 修改Interrupt接口名称
*********************************************************************/
#ifndef _HWAPI_INTERRUPT_H
#define _HWAPI_INTERRUPT_H
#include "hw_include.h"
typedef enum IRQ_NUM
{
INTC_UART0, // 0 -- low
INTC_UART1, // 1
INTC_TMR0, // 2
INTC_TMR1, // 3
INTC_TMR2, // 4
INTC_GPIO0, // 5
INTC_SWI1, // 6
INTC_MAILBOX, // 7
INTC_RTC, // 8
INTC_SCU, // 9
INTC_SD, // 10
INTC_SPI, // 11
INTC_HDMA, // 12
INTC_A2A_DMA, // 13
INTC_I2C, // 14
INTC_I2S, // 15
INTC_UDC, // 16
INTC_UHC, // 17
INTC_PWM0, // 18
INTC_PWM1, // 19
INTC_PWM2, // 20
INTC_PWM3, // 21
INTC_ADC, // 22
INTC_GPIO1, // 23
INTC_VIP, // 24
INTC_DWDMA, // 25
INTC_NANDC, // 26
INTC_LCDC, // 27
INTC_DSP, // 28
INTC_RESERVED1, // 29
INTC_RESERVED2, // 30
INTC_RESERVED3 // 31 -- high
}eIRQ_NUM_t;
#define INTC_MAX_IRQ 32 // interrupt source number
#define LOW_LEVEL 0x00000000
#define HIGH_LEVEL (1<<6) // 0x00000040
#define NEGATIVE_EDGE (1<<7) // 0x00000080
#define POSITIVE_EDGE (3<<6) // 0x000000C0
#define SRCTYPE_MASK (3<<6) // 0x000000C0
typedef void (*InterruptHandler)(void);
typedef struct intr_handler
{
InterruptHandler routine; // interrupt vector
}INTR_HANDLER;
/*********************************************************************
FUNCTION PROTOTYPES
*********************************************************************/
void Intr_PowerOnInit(void); // --- 初始化Interrupt controller, disable interrupt, enable ARM irq
InterruptHandler Intr_RegISR(int irq, InterruptHandler routine); // --- 注册中断,将isr与irq关联
BOOL Intr_Enable(eIRQ_NUM_t irq); // --- 使能特定中断
BOOL Intr_Disable(eIRQ_NUM_t irq); // --- 禁止特定中断
void Intr_SetPrio(eIRQ_NUM_t irq, int priority); // --- 设置中断优先级
int Intr_GetPrio(eIRQ_NUM_t irq); // --- 得到中断优先级
void Intr_PowerOffDeinit(void); // --- 反初始化Interrupt
//__inline
int Intr_GetState(void);
//__inline
void Intr_ClearFlag(eIRQ_NUM_t irq);
void Intr_SetType(eIRQ_NUM_t irq, int type); // --- 设置中断类型
int Intr_GetType(eIRQ_NUM_t irq); // --- 得到中断类型
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -