📄 lld_eic.h
字号:
/*____________________________________________________________________________
| FILE: lld_eic.h
| PROJECT: OS20_ACCORDO+
| SW-COMPONENT:
|_____________________________________________________________________________
| DESCRIPTION: Eic header
|_____________________________________________________________________________
| COPYRIGHT: (c) 2005 STMicroelectronics, Arzano (ITALY)
| HISTORY:
| Date | Modification | Author
|_____________________________________________________________________________
| 05.10.11 | Initial revision | M. De Martino
|____________________________________________________________________________*/
#ifndef _LLD_EIC_H_
#define _LLD_EIC_H_
#include "types.h"
#include "macro.h"
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************
|defines
|-----------------------------------------------------------------------*/
#define ARM7_MODE_MASK 0x1F
#define ARM7_USER_MODE 0x10
#define ARM7_FIQ_MODE 0x11
#define ARM7_IRQ_MODE 0x12
#define ARM7_SVC_MODE 0x13
#define ARM7_ABORT_MODE 0x17
#define ARM7_UNDEF_MODE 0x1B
#define ARM7_SYSTEM_MODE 0x1F
#define INC_ICR_INT_ENA 3
#define INC_ICR_INT_DIS 2
#define INSTALL_ISR(Ch, IsrAddres) { ISRInfoVect[Ch].FuncPtr = IsrAddres; }
/* Channel number defines */
#define EIC_CH_00 0
#define EIC_CH_01 1
#define EIC_CH_02 2
#define EIC_CH_03 3
#define EIC_CH_04 4
#define EIC_CH_05 5
#define EIC_CH_06 6
#define EIC_CH_07 7
#define EIC_CH_08 8
#define EIC_CH_09 9
#define EIC_CH_10 10
#define EIC_CH_11 11
#define EIC_CH_12 12
#define EIC_CH_13 13
#define EIC_CH_14 14
#define EIC_CH_15 15
#define EIC_CH_16 16
#define EIC_CH_17 17
#define EIC_CH_18 18
#define EIC_CH_19 19
#define EIC_CH_20 20
#define EIC_CH_21 21
#define EIC_CH_22 22
#define EIC_CH_23 23
#define EIC_CH_24 24
#define EIC_CH_25 25
#define EIC_CH_26 26
#define EIC_CH_27 27
#define EIC_CH_28 28
#define EIC_CH_29 29
#define EIC_CH_30 30
#define EIC_CH_31 31
/* Interrupt priority definition */
#define EIC_INT_LEVEL_00 0
#define EIC_INT_LEVEL_01 1
#define EIC_INT_LEVEL_02 2
#define EIC_INT_LEVEL_03 3
#define EIC_INT_LEVEL_04 4
#define EIC_INT_LEVEL_05 5
#define EIC_INT_LEVEL_06 6
#define EIC_INT_LEVEL_07 7
#define EIC_INT_LEVEL_08 8
#define EIC_INT_LEVEL_09 9
#define EIC_INT_LEVEL_10 10
#define EIC_INT_LEVEL_11 11
#define EIC_INT_LEVEL_12 12
#define EIC_INT_LEVEL_13 13
#define EIC_INT_LEVEL_14 14
#define EIC_INT_LEVEL_15 15
/* Function pointer for callback registration */
typedef void (*CALLBACK_fnct) (void);
typedef void (*InterruptHandler_ChannelTy) (void);
typedef struct
{
CALLBACK_fnct FuncPtr;
} DevISRInfo;
#define ISRSelect(x) ISRInfoVect[x].FuncPtr()
/************************************************************************
|function prototypes
|-----------------------------------------------------------------------*/
extern void EIC_IntEnable (void);
extern void EIC_IntDisable (void);
extern tSInt EIC_vEicGlobalDis (void);
extern void EIC_vEicGlobalEn (void);
extern void EIC_vEicGlobalRest (tSInt val);
extern tSInt EIC_ChannelStatus (tU32 source);
extern void EIC_DisableChannel (tU32 source);
extern void EIC_EnableChannel (tU32 source);
extern void EIC_UninstallChannel (tU32 source);
extern void EIC_InstallChannel (tU32 source, tU32 priority, CALLBACK_fnct fnct);
#ifdef __cplusplus
}
#endif
#endif /* _LLD_EIC_H */
/* End of file */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -