/*
 * Aufgabe7_2.c
 *
 *  Created on: 17.01.2021
 *      Author: Julia Kisela
 */


#include "LPC21XX.h"
#include <stdint.h>

void IRQ_Routine (void) {while (1) ;}
void FIQ_Routine (void) {while (1) ;}
void SWI_Routine (void) {while (1) ;}
void UNDEF_Routine (void) {while (1) ;}

#define LED_MASK (0xff << 16)

#define DELAY 0xA0000

// blink turns the specified LED (0..7) on
// for the duration of delay, then turns it off again
void blink(int led, int delay) {
	int j;
	// Anschalten
	IOSET1 = (1 << 16 + led);
	// Delay
	for (j = 0; j < delay; j++);
	// Abschalten
	IOCLR1 = (1 << 16 + led);
}

void lauf_v() {
	// 8 LEDs
	int i;
	for (i = 0; i < 8; i++) {
		blink(i, DELAY);
	}
}

int main()
{
	// set P1.16 to P1.23 to output.
	IODIR1 = LED_MASK;
	// endless loop
	for (;;) {
		lauf_v();
	}
}
