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!
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!!!
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.
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!?!
Die Firmware deines µC übernimmt doch dann zum Teil die Funktion eines Grafik Treibers.
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 ;-)
> 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. ...
verstanden Ok dann sag ich mal vielen Dank für die Antworten! bis zur nächsten Frage ;-)
> 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 ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.