blob: 89a81b26d9ce8b68a88dd8ab0cc6ca514e223053 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#ifndef init4_h
#define init4_h
// fuer AUFGABE 4:
#define aic_IDCR ((volatile unsigned int*) 0xFFFFF124)
//Interrupt Disable Command Register
#define aic_ICCR ((volatile unsigned int*) 0xFFFFF128)
// Interrupt Clear Command Register
#define aic_SMR ((volatile unsigned int*) 0xFFFFF038)
// Source Mode Register !!!nachfragen
#define aic_SVR ((volatile unsigned int*) 0xFFFFF0B8)
// Source Vector Register
#define aic_EOICR ((volatile unsigned int*) 0xFFFFF130)
// End of Interrupt Command Reg.
#define aic_IECR ((volatile unsigned int*) 0xFFFFF120)
// Interrupt Enable Command Register
#define pmc_PCER ((volatile unsigned int*) 0xFFFF4010)
// Peripheral Clock Enable Reg
#define pmc_PCSR ((volatile unsigned int*) 0xFFFF4018)
// Peripheral Clock Status Reg, Reset: 0x0
#define pioB_PER ((volatile unsigned int*) 0xFFFF0000)
// PIOB Port Enable Reg
#define pioB_OER ((volatile unsigned int*) 0xFFFF0010)
// PIOB Output Enable Reg
#define pioB_SODR ((volatile unsigned int*) 0xFFFF0030)
// PIOB Set Output Data Reg
#define pioB_CODR ((volatile unsigned int*) 0xFFFF0034)
// PIOB Clear Output Data Reg
#define pioB_PDSR ((volatile unsigned int*) 0xFFFF003C)
// PIOB PIN Data Status Reg
#endif
/*
#define aic_SMR ((volatile unsigned int*) 0xFFFFF038)
// Source Mode Register !!!nachfragen
#define aic_SVR ((volatile unsigned int*) 0xFFFFF0B8)
// Source Vector Register
*/
//in MAIN->
//....
//*aic_SMR = 0x1 //
/*
SRCTYPE: Interrupt Source Type
Program the input to be positive- or negative-edge triggered or positive- or
negative-level sensitive.
The active level or edge is not programmable for the internal sources.
----> hier haben wir den "Level Sensitive: Low-Level Sensitive" 00
PRIOR: Priority Level
Program the priority level for all sources except source 0 (FIQ).
The priority level can be between 0 (lowest) and 7 (highest).
The priority level is not used for the FIQ in the SMR0.
---> also haben wir die 1
sprich-> 0x01 -> 0x1;
*/
//*aic_SVR = (volatile unsigned int) &taste_irq_handler; //im sp�teren Verlauf der Praktika wird
//hier eine Interrupt-Routine-FKT kommen, die das weitere Vorgehen veranlast und in "fast" allen SVRs hinein kommt
|