Landtiger LPC1768 C BigLib
1
A self made, custom C library for the LandTiger board.
Loading...
Searching...
No Matches
timer_types.h
Go to the documentation of this file.
1
#ifndef __TIMER_TYPES_H
2
#define __TIMER_TYPES_H
3
4
#include "
types.h
"
5
#include <stdint.h>
6
7
#define MR_COUNT 4
8
9
typedef
enum
10
{
11
TIM_0
= 0,
12
TIM_1
,
13
TIM_2
,
14
TIM_3
,
15
TIM_COUNT
16
}
TIMER_Which
;
17
18
typedef
enum
19
{
20
TIM_MR0
= 0,
21
TIM_MR1
,
22
TIM_MR2
,
23
TIM_MR3
,
24
TIM_MR_COUNT
25
}
TIMER_MRWhich
;
26
27
typedef
enum
28
{
29
TIM_MR_NOP
= 0,
30
TIM_MR_INT
= 1 << 0,
31
TIM_MR_RES
= 1 << 1,
32
TIM_MR_STP
= 1 << 2
33
}
TIMER_MRAction
;
34
35
typedef
struct
36
{
37
u8
which
;
38
u32
match
;
39
u8
actions
;
40
}
TIMER_MatchRegister
;
41
42
typedef
struct
43
{
44
u8
which
;
45
u32
prescaler
;
46
// Future: implement Capture registers & CCR
47
// Future: implement EMR
48
}
TIMER
;
49
50
// INTERRUPTS
51
52
// Refer to Table 426 in the manual for more info.
53
typedef
enum
54
{
55
TIM_INT_SRC_MR0
= 0,
// Bit 0, MR0
56
TIM_INT_SRC_MR1
,
// Bit 1, MR1
57
TIM_INT_SRC_MR2
,
58
TIM_INT_SRC_MR3
,
59
60
// Unsupported, Capture channels
61
// TIM_INT_SRC_CR0 = 0x10,
62
// TIM_INT_SRC_CR1 = 0x20
63
TIM_INT_SRC_COUNT
64
}
TIMER_InterruptSource
;
65
66
// Interrupt handler function pointer
67
typedef
void (*
TIMER_InterruptHandler
)(void);
68
69
#endif
TIMER_MatchRegister
Definition
timer_types.h:36
TIMER_MatchRegister::which
u8 which
Definition
timer_types.h:37
TIMER_MatchRegister::actions
u8 actions
Definition
timer_types.h:39
TIMER_MatchRegister::match
u32 match
Definition
timer_types.h:38
TIMER
Definition
timer_types.h:43
TIMER::which
u8 which
Definition
timer_types.h:44
TIMER::prescaler
u32 prescaler
Definition
timer_types.h:45
TIMER_Which
TIMER_Which
Definition
timer_types.h:10
TIM_1
@ TIM_1
Definition
timer_types.h:12
TIM_COUNT
@ TIM_COUNT
Definition
timer_types.h:15
TIM_0
@ TIM_0
Definition
timer_types.h:11
TIM_2
@ TIM_2
Definition
timer_types.h:13
TIM_3
@ TIM_3
Definition
timer_types.h:14
TIMER_InterruptHandler
void(* TIMER_InterruptHandler)(void)
Definition
timer_types.h:67
TIMER_MRWhich
TIMER_MRWhich
Definition
timer_types.h:19
TIM_MR_COUNT
@ TIM_MR_COUNT
Definition
timer_types.h:24
TIM_MR1
@ TIM_MR1
Definition
timer_types.h:21
TIM_MR2
@ TIM_MR2
Definition
timer_types.h:22
TIM_MR3
@ TIM_MR3
Definition
timer_types.h:23
TIM_MR0
@ TIM_MR0
Definition
timer_types.h:20
TIMER_MRAction
TIMER_MRAction
Definition
timer_types.h:28
TIM_MR_INT
@ TIM_MR_INT
Definition
timer_types.h:30
TIM_MR_RES
@ TIM_MR_RES
Definition
timer_types.h:31
TIM_MR_NOP
@ TIM_MR_NOP
Definition
timer_types.h:29
TIM_MR_STP
@ TIM_MR_STP
Definition
timer_types.h:32
TIMER_InterruptSource
TIMER_InterruptSource
Definition
timer_types.h:54
TIM_INT_SRC_COUNT
@ TIM_INT_SRC_COUNT
Definition
timer_types.h:63
TIM_INT_SRC_MR2
@ TIM_INT_SRC_MR2
Definition
timer_types.h:57
TIM_INT_SRC_MR1
@ TIM_INT_SRC_MR1
Definition
timer_types.h:56
TIM_INT_SRC_MR3
@ TIM_INT_SRC_MR3
Definition
timer_types.h:58
TIM_INT_SRC_MR0
@ TIM_INT_SRC_MR0
Definition
timer_types.h:55
types.h
u8
uint8_t u8
Definition
types.h:8
u32
uint32_t u32
Definition
types.h:6
Keil
Include
Peripherals
timer_types.h
Generated by
1.9.8