// Lösung zu Termin3 // Aufgabe 1 // von: // vom: // #include "../h/pmc.h" #include "../h/pio.h" // Die Funktion f_int_Funktionen erwartet // die Registeradresse fuer das Pin Data Status Register PDSR aus dem die Tasteninformationen gelesen werden koennen // die Registeradresse fuer das Clear Output Data Register CODR um die LED's einschalten zu koennen // und liefert zurueck // TRUE Taste gedrueckt oder FALSE Taste nicht gedrueckt int f_int_Funktionen(volatile unsigned int* u_int_Taster, volatile unsigned int* u_int_LedsOn); int main(void) { int int_Weiter = 1; // //************************************************** // PowerManagementController Clock fuer PIOB einschalten PMC_BASE->PMC_PCER = 0x4000; // Peripheral Clocks einschalten für PIOB // Parallel I/O Controller PIOB Taster und LED's aktivieren PIOB_BASE->PIO_PER = 0xff38; // alle LED und Taster SW1..SW3 aktiv PIOB_BASE->PIO_OER = 0xff00; // alle 8 LED aktiv while(int_Weiter) { PIOB_BASE->PIO_SODR = 0xff00; // alle 8 LED aus (lowaktiv) int_Weiter = f_int_Funktionen(&PIOB_BASE->PIO_PDSR, &PIOB_BASE->PIO_CODR); } return 0; }