myavr.CHKRonline.de

Informationen und Projekte Rund um die Mikrocontroller-Programmierung
von myAVR (ATmega8), STM32 (Cortex-M3/4) und Raspberry Pi (ARM11)

Der Autor

Christian KrügerChristian Krüger, ursprünglich aus dem Altenburger Land stammend, wohnt heute in Nürnberg. Nach seinem Studium der Informations­technik an der West­sächsischen Hochschule in Zwickau, ist er heute Software Entwickler für ein­gebettete Systeme. Seine Berufung fand er im Dienst für seine Kollegen als Teamleiter bei ISCUE.

Die größte Leidenschaft Christians ist es, die Schönheit unserer Welt einzufangen und weiter­zuerzählen. Dies gelingt ihm mit Hilfe seiner Kamera. Seine Fotos und Videos sind auf Instagram und seiner Webseite zu betrachten.

Für seine Zukunft freut sich Christian auf erinnerungs­würdige Reisen, begeisterungs­fähige Menschen und viele neue Erfahrungen.

CHKRonline.de

Facebook Profil

Twitter Profil

XING Profil

Meine myAVR Treiber

myAVR LCD Treiber

Für das myAVR Board MK2 USB bietet der Hersteller Laser & Co. Solutions GmbH verschiedene Erweiterungsmodule an. Eines der interessantesten Module dürfte das myAVR LCD Add-On sein. Dabei handelt es sich um eine Platine, welche ein 2x16 Zeichen LCD trägt. Die Platine ist über einen Erweiterungsport mit einigen der GPIO-Ports des ATmega verbunden und erlaubt so die Ansteuerung des LCD aus dem Mikrocontroller. Da sowohl die Initialisierung als auch die Steuerung des LCDs einige Aktionen umfasst, bietet sich die Erstellung einer Bibliothek an.

myAVR LCD Add-On

Umsetzung

Die Bibliothek umfasst Funktionen zur Inbetriebnahme und zur Steuerung des LCDs. Ich habe mir Mühe gegeben, möglichst alle Funktionen des Displays verfügbar zu machen.

Letztlich sieht der Code nicht viel anders aus, als das, was das myAVR Workpad Plus zur Verfügung stellt. Kein Wunder, denn die Aktionen zur Ansteuerung des Displays ändern sich auch nicht. Ich habe mich trotzdem entschieden diese Bibliothek zu veröffentlichen, da ich sie in vielen meiner Projekte einsetze. Diese wären ohne diese Funktionssammlung nicht nutzbar.

Lizenz

Dieses Programm ist freie Software. Du kannst es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach deiner Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es dir von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details findest du in der GNU General Public License.

Die Lizenzvereinbarung stehen folgend zur Verfügung: GPL 3.0 Lizenz

Kompilierung

Der Treiber liegt in Form einer statischen Bibliothek vor. Diese kann einfach zusammen mit einem ausführbaren Programm gelinkt werden. Dazu sind der Header der Bibliothek als auch die Bibliothek selbst notwendig.

Die Bibliothek wurde mit Hilfe des myAVR Workpad Plus und AVR-Eclipse entwickelt. Sie sollte sich in einem Hauptprogramm mit Hilfe des myAVR Workpad SE bzw. Plus oder AVR-Ecplise jederzeit kompilieren und auf ein myAVR Board MK2 USB transferieren lassen. Bei der Nutzung des myAVR Workpad ist dazu die Angabe der Bibliothek in den Datei-Kommentaren notwendig:

// LinkerOption   : -v -L"PATH_TO_LCD_LIBRARY" -lmyAVRLCDDriver

Unter Eclipse ist die Definition des Symbols __ECLIPSE__ für eine korrekte Kompilierung notwendig, außerdem müssen die Pfäde zu der Bibliothek in den Projekt-Eigenschaften hinterlegt werden. Siehe dazu auch das AVR-Eclipse Tutorial Seite 3.

Beispiel Hauptprogramm:

#define F_CPU 3686400
#include "myAVRLCDDriver.h"

int main(void)
{
    lcd_init();
    lcd_printLine("Hallo Welt", Line1);
    lcd_printLine("Ich lebe!", Line2);
    lcd_configDimmer(128);
    return 0;
}

Die Kompilierung der Bibliothek selbst ohne Hauptprogramm ist lediglich mit AVR-Eclipse vorgesehen. Das myAVR Workpad bietet keine mir bekannte Möglichkeit, eine Bibliothek zu kompilieren.

Bei Fragen oder Anregungen stehe ich gerne zur Verfügung: chkr1989@chkronline.de

Changelog

Version 1.8

Version 1.7

Version 1.6

Version 1.5

Version 1.4

Version 1.3

Version 1.2

Version 1.1

Bibliothek ATmega8 @ 3,6864 MHz

Bibliothek ATmega328P @ 16,0 Mhz

Lizenzinformationen