Forum: Mikrocontroller und Digitale Elektronik Grafik Treiber


von Lehrling (Gast)


Lesenswert?

Hi ich bin noch ganz neu auf dem Gebiet von Mikrocontrollern und hätte
da natürlich eine Frage.
Und zwar wozu benötigt man einen Grafik Treiber?
Ich mein man kann ja LCDs eigentlich mit jedem Mikrocontroller
ansteuern.(also auch ohne Grafik Treiber!?!) Oder nicht?
Ist es mit Grafik Treiber dann nur "einfacher" oder wie soll ich das
verstehen?
Ist sicherlich ne "dumme" Frage aber bekanntlich bleibt nur derjenige
dumm der nicht fragt ;-)

Vielen Dank für Eure Anworten!

von KoF (Gast)


Lesenswert?

hmm... treiber...

also als erstes must du wissen, was für ein display du benutzt.
z.b. gibt es displays mit intigriertem controller (z.b. zeilendisplays)
welche sich sehr einfach anbinden lassen. aber es gibt auch welche ohne,
und von denen sollte man die finger lassen, es sei denn man hat ganz
viel zeit ;-)
aber einen treiber, der auf jedem uc mit jedem display zusammen
arbeitet, soetwas wirst du nicht finden!!!

von Karl H. (kbuchegg)


Lesenswert?

Ein Grafik-Treiber vermittelt zwischen Deinem Programm
und der Hardware.
Im einfachsten Fall kuemmert der sich um das richtige
Timeing (welcher Pin muss in welchem zeitlichen Rahmen
getoggelt werden).
Oft aber gehen Grafik Treiber noch weiter. Da gibt es
dann Funktionen die ein Pixel setzen, eine Linie zeichnen,
einen Buchstaben aus Pixel zusammensetzen, mit der letzten
Funktion einen kompletten String an eine bestimmte Position
ausgeben, usw.

Der Sinn der Sache besteht darin, dass
  * man diese Funktionalitaet nur einmal programmiert, eben
    im Grafik Treiber.
    In allen weitern Programmen greift man dann auf die
    Funktionalitaet zurueck, die der Treiber bereitstellt.

  * man bei Hardware-Aenderungen flexibler reagieren kann.
    Man bau einfach einen 2-ten Grafik Treiber, der die neue
    Hardware unterstuetzt aber ansonsten die gleiche Funktinoalitaet
    bietet (Pixel, Linien, Text). Dann kann man alle Programme,
    die ueber den Treiber gehen, ganz einfach auf die neue Hardware
    portieren. Im Idealfall braucht man dann naemlich im Programm
    gar nichts aendern. Es wird einfach der neue Treiber gelinkt,
    und da der ja funktional identisch mit dem alten war,
    funktioniert alles wie gehabt.

Der Sinn eines Software-Treibers besteht immer daran eine
Zwischenschicht einzuziehen, die das eigentliche Programm von
den Details des anzusteuernden Systems entkoppelt.

von Lehrling (Gast)


Lesenswert?

Also brauche ich einen Grafik Treiber im uC nicht unbedingt um ein
Grafik LCD anzusteuern?!?

Aber es kann eine nützliche Hilfe bzw.Unterstützung sein!?!

von ,,,, (Gast)


Lesenswert?

Die Firmware deines µC übernimmt doch dann zum Teil die Funktion eines
Grafik Treibers.

von Lehrling (Gast)


Lesenswert?

Ja wie gesagt bin noch ganz neu in der ganzen Materie und sozusagen
gerade am erlernen bzw. einarbeiten.
Ich versuche auch viel mit der Suche bzw. googeln aber sorry falls doch
mal ne dumme Frage kommt ;-)

von Hannes L. (hannes)


Lesenswert?

> Also brauche ich einen Grafik Treiber im uC nicht unbedingt um ein
> Grafik LCD anzusteuern?!?

> Aber es kann eine nützliche Hilfe bzw.Unterstützung sein!?!

Hmmm...
Du brauchst in deinem Programm Routinen, die dem LCD sagen, was es
machen soll. Um diese selbst zu programmieren, musst du das Datenblatt
des LCDs lesen, verstehen und dich danach richten. Einige Grafik-LCDs
(z.B. mit T6963-Controller) bieten ganz komfortable Möglichkeiten, Text
auszugeben, andere können nur Pixel setzen und löschen. Du musst also in
deinem Programm Routinen programmieren, die diese Arbeit übernehmen. All
diese Routinen kann man in einer (Include-)Datei zusammenfassen und
'LCD-Treiber' oder 'Grafiktreiber' nennen. Macht man das, dann kann
man diese Routinensammlung auch in andere Programme einbinden (wie oben
bereits sehr verständlich erklärt).

Wenn du in der Lage bist, das Datenblatt des LCDs zu verstehen, dann
wirst du auch eine Chance haben, die Routinen dafür zu schreiben. Wenn
nicht, dann ist das betreffende LCD vorerst nix für dich, es sei denn,
du bekommst irgendwoher die fertigen Routinen und kannst damit
umgehen.

Fang also lieber etwas kleiner an, z.B. mit einem Punktmatrix-LCD für
reine Textausgabe.

...

von Lehrling (Gast)


Lesenswert?

verstanden
Ok dann sag ich mal vielen Dank für die Antworten!

bis zur nächsten Frage ;-)

von Hannes L. (hannes)


Lesenswert?

> aber sorry falls doch
> mal ne dumme Frage kommt ;-)

So dumm ist deine Frage garnicht.
Sie zeigt allerdings, dass du gern den dritten Schritt vor dem ersten
machen würdest. Das wird vermutlich schief gehen. Fang am besten mal
mit dem Tutorial hier auf dieser Seite an. Dann vielleicht die
Tutorials, die in der Linksammlung genannt sind oder
http://www.avr-asm-tutorial.net

...

von Lehrling (Gast)


Lesenswert?

Danke für den Tipp, hast vermutlich Recht!

Dann werd ich mich mal da rein stürzen :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.