Lösung: Arduino UNO Zähler

C-Quelltext:

#define F_CPU 16000000UL

#include <avr/io.h>
#include <util/delay.h>
#include <stdint.h>


int main(void)
{
	DDRD |= 0b11111111;
	
	uint8_t zaehler=0;
	
	while (1)
	{
		zaehler++;
		PORTD = zaehler;
		_delay_ms(500);
	}
}

Quelltext: Erklärung

Compiler-Direktiven

#define

#define F_CPU 16000000UL: Festlegen der CPU-Arbeitsfrequenz auf 16 Mhz

#include

#include <avr/io.h>: AVR-I/O Bibliothek einbinden

#include <util/delay.h>: Delay Bibliothek einbinden

#include <util/delay.h>: Standard-Integer Bibliothek einbinden

main() Funktion

DDRD |= 0b11111111;

PortD als Ausgang definieren. Alle Pins sollen als Ausgang fungieren.

uint8_t zaehler=0;

Variable zaehler als uint8_t deklarieren und mit 0 initialisieren.

Hauptschleife

  • zaehler hochzählen
  • zaehler an PortD ausgeben
  • 500 ms warten.