Tutorial
Sprachreferenz
IDE
Erste Schritte
Eine Zusammenstellung an Informationen für Neuanfänger mit Mikrocontrollern und/oder der Programmiersprache Luna.
Grundlegendes
Was wird benötigt?
- Ein ISP (In-System-Programmer) und
- Ein Programmier-Board mit einem Atmel-Mikrocontroller, oder
- Board & ISP als Kombination, z.B. "Starterkit-Luna" von eHaJo
Siehe auch: Artikel ISP/Boards (mikrocontroller.net)
Start mit Luna
Installation
- Aktuelles Archiv der Luna-AVR-Entwicklungsumgebung herunterladen.
- 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 „LunaStudio“ 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 „LunaStudio“ zuerst den Programmer/Uploader einstellen.
Weitere Einstellungen sind zum grundlegenden Start nicht notwendig, man kann prinzipiell sofort losprogrammieren.
Beispiele (Allgemein)
Ein Luna-Programm benötigt minimal drei Angaben:
- Definition des verwendeten Mikrocontrollers („device“)
- Definition der Taktrate („clock“)
- 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
Voraussetzungen
Die hier verzeichneten Tutorials nutzen das aTeVaL-Board aus dem Starterkit-Luna von eHaJo . Sie können natürlich auch auf anderen Boards oder einem Steckbrett ausgeführt werden. Die notwendigen Schritte vom erstellen des Programms bis zur Übertragung auf den Controller sind ähnlich. Abweichende Belegungen von z.B. LEDs müssen dann entsprechend angepasst werden.
Der Aufbau bzw. die Lötanleitung wird im aTeVaL-Board Wiki ausführlich erläutert.
Auf dem aTeVaL befindet sich ein ISP, mit dem man das fertig kompilierte Programm auf den Atmel-Controller übertragen kann. Das aTeVaL unterstützt hierbei das originale Atmel-Studio oder auch das Programmieren mit AvrDude. Die Luna-IDE nutzt AvrDude als Übertragungssoftware, daher muss das aTeVaL vorher auf den "AvrDude"-Modus einmalig umgestellt werden.
Nach dem Zusammenlöten
Nach dem zusammenlöten des aTeVaL schließt man es per USB an den Rechner und wechselt in den AvrDude-Modus wie unter obigem Link beschrieben. Bei z.B. Windows7/8/Vista werden die Treiber automatisch installiert und es existiert ein neues Gerät namens „AVRISP mkII“. Zur Kommunikation über die USB-Schnittstelle wird „libusb“ benötigt. Am Beispiel für Windows die Installationabfolge:
- libusb-win herunterladen, Archiv auspacken Download-Links unter Programmer/Uploader
- in den Ordner bin/x86/ wechseln
- Programm install-filter-win.exe ausführen
- Treiber für „AVRISP mkII“ installieren:
In der Luna-IDE stellen wir unter Einstellungen/Uploader die Schnittstelle „usb“, sowie den Programmer „AVRISPMKII - Atmel AVR ISP mkII“ ein. Anschließend ist alles bereit um über die Luna-IDE auf den Mikrocontroller zuzugreifen. Für die untenstehenden Beispiele/Tutorials verwenden wir den Controller „Atmega328p“ aus dem Starterkit.
Kommunikation
Tutorials
Programmbeispiele
Folgende Programmbeispiele sind analog zu den C-Beispielen im aTeVaL-Wiki.
Nach dem einladen eines der Beispiele kann es mit dem Knopf oder dem Menüpunkt „Kompilieren und auf Controller hochladen“ kompiliert und auf den Mikrocontroller hochgeladen werden. Es wird im Anschluss direkt auf dem Controller ausgeführt.



