📄 lib_aic.h
字号:
//*----------------------------------------------------------------------------
//* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -