Beispiel - LEDs blinken lassen

blinkblink.luna
'**************************************************************************
'* Name        : BlinkBlink
'* Function    : First Steps Example
'* Hardware    : aTeVaL Evaluation Board - http://www.ehajo.de
'**************************************************************************
'* Compiler    : lunaAVR 2013.r4 (or newer)
'**************************************************************************
'* Author      : rgf, avr@myluna.de
'* Date/Version: 16.08.2013
'* www         : http://avr.myluna.de
'**************************************************************************
 
avr.device = atmega328p  'Controller-Typ festlegen
avr.clock = 8000000		'Dem Compiler mitteilen mit welcher Taktrate der Controller läuft
avr.stack = 64			'Den Programmstack einstellen
' -> Siehe "avr": http://avr.myluna.de/doku.php?id=de:avr
 
'Die Port-Pins der beiden LEDs mit einem Bezeichner
'versehen. Dies zur besseren Lesbarkeit im Quelltext
#define LED1 as PortD.5
#define LED2 as PortD.6
' -> Siehe "#defines": http://avr.myluna.de/doku.php?id=de:define
 
'Die beiden Port-Pins (LED1+2) als Ausgang konfigurieren
LED1.mode = output,low	'Der Compiler ersetzt hier das "LED1" durch "PortD.5"
LED2.mode = output,low	'Der Compiler ersetzt hier das "LED2" durch "PortD.6"
' -> Siehe "Port": http://avr.myluna.de/doku.php?id=de:port
 
'LED1 schalten wir zu Beginn ein, damit leuchtet LED1 und LED2 ist aus.
LED1 = 1
 
'Hauptschleife (wird nicht verlassen)
do
 
  'Dadurch dass LED1 zu beginn leuchtet, LED2 ausgeschaltet ist und
  'wir mit "toggle" die Signalrichtung umkehren, hat unser Programm die
  'Funktion eines Wechselblinkers.
 
  LED1.toggle	'"toggle" dreht die Signalrichtung um (wenn vorher 0, wird der Port-Pin zu 1 und umgedreht)
  LED2.toggle	' -> Siehe "Port": http://avr.myluna.de/doku.php?id=de:port
  waitms 500	'500 ms warten, -> Siehe "wait": http://avr.myluna.de/doku.php?id=de:wait
 
loop