Moin, ich hab im laufe meines derzeiten Projekts mal die TFT Library von Henning Karlsen fuer Arduino umgebaut auf C (wer braucht schon die Arduino libs?). Ich weiss, dass mein Programierstyle zu wuenschen uebrig laesst, aber ich komm damit klar. Im Source ist ein Beispiel (GUI) drin, wie man das ganze nutzen kann. Waere schoen, wenn ich ein Feedback bekommen wuerde. Aber bitte nur Konstruktives und keine unqualifizierten Bemerkungen, dass ein Ire schlechte Rechtschreibung hat, oder so einen Muell. Die Lib laueft mit verschiedenen Display Typen und Arduino Boards, laesst sich aber auch auf andere Megas umstricken. Infos finden sich auf der Webseite von Henning Karlsen. http://www.henningkarlsen.com/electronics/library.php?id=51 Wer Bock hat, kann ja mal den Rest Arduino Hype entfernen. Ausserdem fehlen fuer ein vernuenftiges Gui noch diverse Elemente, wie Listen, Eingabefelder, usw. Ansonsten viel Spass damit. P.S.: Sollten Fragen aufkommen, bin ich grade zufaellig im Urlaub :-)
Auf welchen Display controller bzw. Welches display bezieht sich diese lib? Ebay tfts mit hxwhatever Chips? Welche ansteuerung spi 16bit parallel? Für avr? Bitte etwas präzisieren, hätte Interesse!!
Steht alles bei Henning auf der Webseite. Die lib unterstuetzt folgende Controller: HX8340-B(N) - Serial HX8340-B(T) - 8bit HX8347-A - 16bit ILI9325C - 8bit ILI9325D - 8/16bit ILI9327 - 16bit PCF8833 - Serial SSD1289 - 16bit ST7735 - Serial Die lib funktioniert mit AVR. Fuer Microchip muesste man die io.c aendern, oder die funktionen, die von da verwendet werden austauschen.
Ich seh grade, dass man fuer microchip noch die Hardware-Zuordnungen in der tft.h aendern muesste. Fuer PIC32 muesste das dann so aussehen:
1 | // *** Hardwarespecific defines ***
|
2 | #define cbi(reg, bitmask) (*(reg + 1)) = bitmask
|
3 | #define sbi(reg, bitmask) (*(reg + 2)) = bitmask
|
4 | #define pulse_high(reg, bitmask) sbi(reg, bitmask); cbi(reg, bitmask);
|
5 | #define pulse_low(reg, bitmask) cbi(reg, bitmask); sbi(reg, bitmask);
|
6 | |
7 | #define cport(port, data) port &= data
|
8 | #define sport(port, data) port |= data
|
9 | |
10 | #define swap(type, i, j) {type t = i; i = j; j = t;}
|
11 | |
12 | #define fontbyte(x) cfont.font[x]
|
13 | |
14 | #define PROGMEM
|
15 | #define regtype volatile uint32_t
|
16 | #define regsize uint16_t
|
17 | #define bitmapdatatype unsigned short*
|
sehr nett danke! auf dem Handy ging die Seite nicht deshalb nicht gesehen! na dann ist die lib genau das was ich suche/brauche, vielen dank mfg
Und noch was vergessen (liegt am Alter) :-) Im Anhang noch mehr fuer die Pic.
Hey, Danke, genau das habe ich gesucht :-) Leider stellt sich mir eine Frage... für welchen Atmega ist denn dein Code ausgerichtet? Ich habe hier ein eigenes Board mit einem AtXmega128A1 und müsste die IO.c umschreiben, aber dafür müsste ich erstmal wissen was die bewirkt oder wofür gedacht ist? die ersten DB0-7 hängen bei mir an einem kompletten Port sowohl die letzten DB8-15 auch auf einem kompletten Port... Danke für deine Rückinfo ;-) Grüße, Daniel
Hallo Stephan , die Gui ist prima , habe sie auf einem ATMEGA2560 mit dem SainSmart TFT Shield schnell zum laufen bekommen. Das hat mir viel Arbeit erspart und ich brauch nicht in Arduino Tiefen hinabsteigen. Danke. Aber das Logo ... ;)
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.