⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hwapi_interrupt.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 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 + -