lib_aic.h
来自「ARM9200开发板的ROM boot程序源码1.0」· C头文件 代码 · 共 128 行
H
128 行
//*----------------------------------------------------------------------------
//* ATMEL Microcontroller Software Support - ROUSSET -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name : lib_aic.h
//* Object : Advanced Interrupt Controller Library Function.
//* Prototyping File.
//*
//* 1.0 01/04/00 JCZ : Creation
//*----------------------------------------------------------------------------
#ifndef lib_aic_h
#define lib_aic_h
#include "periph/aic/aic.h"
__inline void at91_aic_set_smr(AT91PS_AIC pAic, int entry, int mode)
{
pAic->AIC_SMR[entry] = mode;
}
__inline int at91_aic_get_smr(const AT91PS_AIC pAic, int entry)
{
return (pAic->AIC_SMR[entry]);
}
__inline void at91_aic_set_svr(AT91PS_AIC pAic, int entry, int vect)
{
pAic->AIC_SVR[entry] = vect;
}
__inline int at91_aic_get_svr(const AT91PS_AIC pAic, int entry)
{
return (pAic->AIC_SVR[entry]);
}
__inline int at91_aic_ivr(const AT91PS_AIC pAic)
{
return (pAic->AIC_IVR);
}
__inline int at91_aic_fvr(const AT91PS_AIC pAic)
{
return (pAic->AIC_FVR);
}
__inline int at91_aic_isr(const AT91PS_AIC pAic)
{
return (pAic->AIC_ISR);
}
__inline int at91_aic_ipr(const AT91PS_AIC pAic)
{
return (pAic->AIC_IPR);
}
__inline int at91_aic_imr(const AT91PS_AIC pAic)
{
return (pAic->AIC_IMR);
}
__inline int at91_aic_cisr(const AT91PS_AIC pAic)
{
return (pAic->AIC_CISR);
}
__inline void at91_aic_iecr(AT91PS_AIC pAic, int ints)
{
pAic->AIC_IECR = ints;
}
__inline void at91_aic_idcr(AT91PS_AIC pAic, int ints)
{
pAic->AIC_IDCR = ints;
}
__inline void at91_aic_iccr(AT91PS_AIC pAic, int ints)
{
pAic->AIC_ICCR = ints;
}
__inline void at91_aic_iscr(AT91PS_AIC pAic, int ints)
{
pAic->AIC_ISCR = ints;
}
__inline void at91_aic_eoicr(AT91PS_AIC pAic, int ints)
{
pAic->AIC_EOICR = ints;
}
__inline void at91_aic_set_spu(AT91PS_AIC pAic, int spurious_vect)
{
pAic->AIC_SPU = spurious_vect;
}
__inline int at91_aic_get_spu(const AT91PS_AIC pAic)
{
return (pAic->AIC_SPU);
}
typedef void (TypeAICHandler) (void) ;
/* Spurious Vector Reference (written in assembly) */
extern void at91_spurious_handler ( void ) ;
/* Function Prototyping */
extern void at91_default_irq_handler ( void );
extern void at91_default_fiq_handler ( void );
extern void at91_irq_open ( AT91PS_AIC, u_int , u_int , u_int , TypeAICHandler ) ;
extern void at91_irq_close (AT91PS_AIC, u_int ) ;
extern void at91_irq_trig_cmd (AT91PS_AIC, u_int , u_int ) ;
extern u_int at91_irq_get_status (AT91PS_AIC) ;
#endif /* lib_aic_h */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?