PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD an Mega8 mit Lib von Peter Fleury



Mr Bean
29.09.2007, 10:13
Hallo

Ich wollte gerade mal wieder probieren mein Display zum laufen zu bekommen. Ich hab jetzt mal eine Frage zu der Lib von Peter Fleury. Ich habe alles in der LCD.h so eingestellt wie ich es für mein Display brauche. Jetzt muss ich doch wenn ich die LCD_init aufrufe um das Display zu initialisieren der Funktion irgend einen Wert mitgeben (disp_attr) Kann mir jemand sagen was ich da reinschreiben muss in diese Variable? Vielleicht hat mir auch jemand einen Beispielcode wie ich die Lib am besten verwende oder ich einfach mal was auf mein Display schreibe. Das wäre schon mal ein Erfolg für mich...

Vielen dank im Voraus!

Grüße!!

Bean

Phantomix
01.10.2007, 23:13
/************************************************** ***********************
Initialize display and select type of cursor
Input: dispAttr LCD_DISP_OFF display off
LCD_DISP_ON display on, cursor off
LCD_DISP_ON_CURSOR display on, cursor on
LCD_DISP_CURSOR_BLINK display on, cursor on flashing
Returns: none
************************************************** ***********************/


du rufst lcd_init auf mit zb lcd_disp_on

lcd_init(LCD_DISP_ON);

danach kannst du einfach drauf los schreiben:



/************************************************** ***********************
Display string without auto linefeed
Input: string to be displayed
Returns: none
************************************************** ***********************/
void lcd_puts(const char *s)


lcd_puts("Hallo Welt!");

Mr Bean
03.10.2007, 13:00
Hallo

Ich wollte mal noch fragen ob es richtig ist dass ich die Datenleitungen DB0 bis DB3 beim 4Bit Modus auf Masse legen muss. Ich bin der Meinung, das wurde mir hier mal geraten. Kann mir das noch einmal jemand bestätigen? Ist ein zweizeiliges Display von reichelt (Displaytech) Da ist ein KS0070b Controller drauf. Kann ich den mit der Lib von Peter Fleury überhaupt ansteuern? Denke der ist kompatibel zu dem KS0073.

Vielen Dank im Voraus!!

Grüße!!

Bean

michas_rob
03.10.2007, 13:32
Hallo,

ich kenn leider die Libary nicht (wäre intressant wo ich diese bekomme), aber kämpfe auch mit einem LCD Problem beim AtMega8...

Kurze Einführung in mein Problem, ich möchte einen ADC Wert in eine Dezimal Zahl umwandeln und anschließend diese am Display ausgeben. Mit Ganzenzahlen ist das ganze kein Problem (integer Var wird in ein String gecastet mittels sprintf), ich kämpfe mit der Umwandlung von float in einen String...oder kennt jemand eine Alternative am Besten eine direkte Ausgabe des float- Wertes.

Ich verwende den WinAVR Compiler, dieser meldet bereits beim Compilieren eine Warnung, das bei der Verwendung der Funktion sprintf eigentlich ein Double erwartet wird.

meine aktuelle cast- Zeile:
sprintf(floatStringBuffer, "%f", test);

Danke für eine jede Antwort

Michael

Hubert.G
03.10.2007, 14:36
Zu den Datenleitungen, ich habe noch bei keinem Display die Datenleitungen 0 bis 3 auf Masse gelegt. Es ist aber ohne weiteres möglich das es Display gibt bei denen das notwendig ist, das sollte aber dann im Datenblatt ersichtlich sein.
Link zu Fleury: http://jump.to/fleury
Wegen der Ausgabe schau dir mal die Funktionen itoa und ltoa im GCC an, vieleicht hilft dir das.

jar
03.10.2007, 14:43
Hallo
Ich wollte mal noch fragen ob es richtig ist dass ich die Datenleitungen DB0 bis DB3 beim 4Bit Modus auf Masse legen muss.
Vielen Dank im Voraus!!
Grüße!!
Bean

musste ich nie

http://iapf.physik.tu-berlin.de/jbohs/dforum/atmel_timer/timer_fertig.jpg

Mr Bean
04.10.2007, 08:01
Hallo

Vielen Dank für die Antworten, ich hab mein Display nun zum laufen bekommen... O:) ich hab die Datenleitungen aber noch auf Masse liegen, scheint also nicht zu schaden. Ich werde das heute Abend vielleicht mal ausprobieren ob das ganze auch noch funktioniert wenn ich die "in der Luft" hängen lass.

Grüße!!

Bean