Erste Schritte

Eine Zusammenstellung an Informationen für Neuanfänger mit Mikrocontrollern und/oder der Programmiersprache Luna.

Was wird benötigt?

Installation

  1. Aktuelles Archiv der Luna-AVR-Entwicklungsumgebung herunterladen.
  2. Archiv entpacken und den Ordner mitsamt aller Dateien an einen beliebigen Ort kopieren. Die Luna-Entwicklungsumgebung kann auch von einem USB-Stick gestartet werden. Eine tiefgreifende Installation im System ist nicht notwendig, daher gibt es auch kein Installationsprogramm. Mit dem auspacken und kopieren an einen gewünschten Ort, ist die Installation abgeschlossen. Auf Wunsch kann man sich noch eine Verknüpfung auf den Desktop ziehen (bei Windows: das Programm „LunaAVR“ mit der Maus festhalten und mit gleichzeitig gedrückt gehaltener „ALT“-Taste auf den Desktop fallen lassen).

Erster Start & Einstellungen

Nach dem Start des Programms „LunaAVR“ zuerst den Programmer/Uploader einstellen.

Weitere Einstellungen sind zum grundlegenden Start nicht notwendig, man kann prinzipiell sofort losprogrammieren.

Ein Luna-Programm benötigt minimal drei Angaben:

  1. Definition des verwendeten Mikrocontrollers („device“)
  2. Definition der Taktrate („clock“)
  3. Definition der Stackgröße („stack“) - Was ist ein Stack?

Siehe hierzu: Basisklasse Avr

Ein leeres, korrektes Programm sähe demnach beispielsweise so aus:

avr.device = atmega168
avr.clock  = 8000000
avr.stack  = 32
 
halt()


Ein weiteres einfaches Programm, eine LED an PortB.0 (Pin 14) blinkt:

avr.device = atmega168
avr.clock  = 8000000
avr.stack  = 32
 
#define LED1 as portB.0   'LED1 wird als Bezeichner für portB.0 definiert
LED1.mode = output,low    'Port als Ausgang definieren und auf Low setzen
 
do
  LED1 = 1                'LED einschalten
  waitms 500              '500ms warten
  LED1 = 0                'LED auschalten
  waitms 500              '500ms warten
  'alternativ fuer die Befehle oben koennte man auch folgendes benutzen
  'LED1.toggle            'Aktuellen Status des PortPins umschalten (toggle)
  'wait 1                 '1 Sekunde warten
loop