summaryrefslogtreecommitdiffstats
path: root/Bachelor/Mikroprozessorsysteme2/mi2/Termin2/init4.h
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