summaryrefslogtreecommitdiffstats
path: root/Bachelor/Mikroprozessorsysteme2/mi2/Termin2/Loesung/Termin2Aufgabe3.c
blob: 21ed7384ec0d8b903443021da5e07a6a49bbfb28 (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
#include "defines.h"



int main(void)

{

  *PMC_PCER = 0x4000;   // Power Enable f�r Parallel I/O Controller B

  *PIOB_PER = 0x318;    // Pin 8,9,3,4: Enabled (Initialisiert) (L�mpchen1,2,Schalter1,2)

  // *PIOB_PER = 0x100; *PIOB_PER = 0x200; *PIOB_PER = 0x8; *PIOB_PER = 0x10

  *PIOB_OER = 0x300;    // Pin 8,9: Pin als Ausgabe verwenden (Lampe 1,2)



  // Schalter werden nicht auf Input geschaltete, da dies Default Zustand ist

  // L�mpchen ist initialisiert und auf Output gesetzt.



  int i;



  while (1)

  {

    *PIOB_SODR = 0x100;   // Pin 8: Lampe 1 an

    	for (i=0; i<125000; i++);   // Pause

    *PIOB_CODR = 0x100;   // Pin 8: Lampe 1 aus

    	for (i=0; i<125000; i++);   // Pause



    // PDSR wird erst gepr�ft nachdem Lampe 1 aus ist



    if (!(*PIOB_PDSR & 0X8))

    	*PIOB_SODR = 0x200;   // Pin 8: Lampe 2 an

    if (!(*PIOB_PDSR & 0x10))

    	*PIOB_CODR = 0x200;   // Pin 8: Lampe 2 aus

  }

  return 0;

}