ADuCM4x50 Device Drivers API Reference Manual
Release 4.0.0.0
adi_xint.h
1
13
#ifndef ADI_XINT_H
14
#define ADI_XINT_H
15
20
#ifdef __ICCARM__
21
#pragma diag_default=Pm008
22
#endif
/* __ICCARM__ */
23
24
#include <adi_callback.h>
25
#include <adi_processor.h>
26
27
#if !defined(__ADUCM302x__) && !defined(__ADUCM4x50__)
28
#error "Unknown processor family"
29
#endif
30
31
32
/* C++ linkage */
33
#ifdef __cplusplus
34
extern
"C"
{
35
#endif
/* __cplusplus */
36
40
#define ADI_XINT_MEMORY_SIZE (48u)
41
43
typedef
enum
44
{
45
ADI_XINT_SUCCESS
= 0,
46
ADI_XINT_FAILURE
,
47
ADI_XINT_ALREADY_INITIALIZED
,
48
ADI_XINT_NOT_INITIALIZED
,
49
ADI_XINT_NULL_PARAMETER
,
50
ADI_XINT_INVALID_MEMORY_SIZE
,
51
ADI_XINT_INVALID_INTERRUPT
52
}
ADI_XINT_RESULT
;
53
54
56
typedef
enum
{
57
ADI_XINT_IRQ_RISING_EDGE
= 0x0,
58
ADI_XINT_IRQ_FALLING_EDGE
= 0x1,
59
ADI_XINT_IRQ_EITHER_EDGE
= 0x2,
60
ADI_XINT_IRQ_HIGH_LEVEL
= 0x3,
61
ADI_XINT_IRQ_LOW_LEVEL
= 0x4
62
}
ADI_XINT_IRQ_MODE
;
63
65
typedef
enum
{
66
ADI_XINT_EVENT_INT0
= 0x0,
67
ADI_XINT_EVENT_INT1
= 0x1,
68
ADI_XINT_EVENT_INT2
= 0x2,
69
ADI_XINT_EVENT_INT3
= 0x3,
70
ADI_XINT_EVENT_RESERVED
= 0x4,
71
ADI_XINT_EVENT_UART_RX
= 0x5,
72
ADI_XINT_EVENT_MAX
= 0x6
73
}
ADI_XINT_EVENT
;
74
75
76
/* External Interrupt API functions */
77
ADI_XINT_RESULT
adi_xint_Init
(
void
*
const
pMemory, uint32_t
const
MemorySize);
78
ADI_XINT_RESULT
adi_xint_UnInit
(
void
);
79
ADI_XINT_RESULT
adi_xint_EnableIRQ
(
const
ADI_XINT_EVENT
eEvent,
const
ADI_XINT_IRQ_MODE
eMode);
80
ADI_XINT_RESULT
adi_xint_DisableIRQ
(
const
ADI_XINT_EVENT
eEvent);
81
ADI_XINT_RESULT
adi_xint_RegisterCallback
(
const
ADI_XINT_EVENT
eEvent, ADI_CALLBACK
const
pfCallback,
void
*
const
pCBParam );
82
83
#ifdef __cplusplus
84
}
85
#endif
86
89
#endif
/* ADI_XINT_H */
ADI_XINT_IRQ_HIGH_LEVEL
Definition:
adi_xint.h:60
ADI_XINT_NOT_INITIALIZED
Definition:
adi_xint.h:48
ADI_XINT_EVENT
ADI_XINT_EVENT
Definition:
adi_xint.h:65
ADI_XINT_EVENT_UART_RX
Definition:
adi_xint.h:71
ADI_XINT_EVENT_INT1
Definition:
adi_xint.h:67
adi_xint_Init
ADI_XINT_RESULT adi_xint_Init(void *const pMemory, uint32_t const MemorySize)
Initializes the External Interrupt Driver.
Definition:
adi_xint.c:74
adi_xint_RegisterCallback
ADI_XINT_RESULT adi_xint_RegisterCallback(const ADI_XINT_EVENT eEvent, ADI_CALLBACK const pfCallback, void *const pCBParam)
Register or unregister an application callback function for external pin interrupts.
Definition:
adi_xint.c:300
adi_xint_UnInit
ADI_XINT_RESULT adi_xint_UnInit(void)
Un-initialize the external interrupt driver.
Definition:
adi_xint.c:116
ADI_XINT_INVALID_MEMORY_SIZE
Definition:
adi_xint.h:50
ADI_XINT_IRQ_LOW_LEVEL
Definition:
adi_xint.h:61
ADI_XINT_SUCCESS
Definition:
adi_xint.h:45
ADI_XINT_EVENT_RESERVED
Definition:
adi_xint.h:70
ADI_XINT_IRQ_RISING_EDGE
Definition:
adi_xint.h:57
ADI_XINT_RESULT
ADI_XINT_RESULT
Definition:
adi_xint.h:43
ADI_XINT_ALREADY_INITIALIZED
Definition:
adi_xint.h:47
ADI_XINT_IRQ_EITHER_EDGE
Definition:
adi_xint.h:59
ADI_XINT_NULL_PARAMETER
Definition:
adi_xint.h:49
ADI_XINT_EVENT_INT3
Definition:
adi_xint.h:69
ADI_XINT_INVALID_INTERRUPT
Definition:
adi_xint.h:51
ADI_XINT_FAILURE
Definition:
adi_xint.h:46
adi_xint_DisableIRQ
ADI_XINT_RESULT adi_xint_DisableIRQ(const ADI_XINT_EVENT eEvent)
Disable an External Interrupt.
Definition:
adi_xint.c:228
adi_xint_EnableIRQ
ADI_XINT_RESULT adi_xint_EnableIRQ(const ADI_XINT_EVENT eEvent, const ADI_XINT_IRQ_MODE eMode)
Enable an External Interrupt.
Definition:
adi_xint.c:158
ADI_XINT_IRQ_FALLING_EDGE
Definition:
adi_xint.h:58
ADI_XINT_EVENT_INT2
Definition:
adi_xint.h:68
ADI_XINT_EVENT_MAX
Definition:
adi_xint.h:72
ADI_XINT_EVENT_INT0
Definition:
adi_xint.h:66
ADI_XINT_IRQ_MODE
ADI_XINT_IRQ_MODE
Definition:
adi_xint.h:56
Include
drivers
xint
adi_xint.h
Generated on Tue Aug 31 2021 19:04:43 for ADuCM4x50 Device Drivers API Reference Manual by
1.8.15