Forum: Mikrocontroller und Digitale Elektronik LCD Flackert -> wegen dem Quarz?


von Herbert (Gast)


Lesenswert?

Hallo!

Mein angeschlossenes LCD funktioniert, aber flackert immer. Wenn ich die 
Kondensatoren des Quarzes mit meinen Fingern etwas.."zusammendrücke" 
hört das Flackern auf.

Hat jemand eine Idee wie das zu lösen ist?

Gruß,
Herbert

von spess53 (Gast)


Lesenswert?

Hi

>Hat jemand eine Idee wie das zu lösen ist?

Nachlöten.

MfG Spess

von Herbert (Gast)


Lesenswert?

Is ein Steckbrett..und ich denke die sitzen ganz gut..

Werde aber bisschen rumversuchen an den Kontakten ;)

Andre Ideen?

von Josef D. (jogedua)


Lesenswert?

Löschen des Displays vermeiden; stattdessen nur überschreiben.

Herbert schrieb:
> Wenn ich die
> Kondensatoren des Quarzes mit meinen Fingern etwas.."zusammendrücke"
> hört das Flackern auf.

Vermutlich schwingt dann der Quarz nicht mehr, so dass das Display das 
anzeigt, was zuletzt geschrieben wurde.

von Herbert (Gast)


Lesenswert?

Klasse Idee!

Ich habe aus dem Assambler - Tut. das Programm und am Ende steht einfach
1
loop:
2
           rjmp loop

Wieso wird dann das löschen überhaupt wiederhohlt?

Gruß

von ISR (Gast)


Lesenswert?

Sind Interupts aktiv?

von Herbert (Gast)


Lesenswert?

OOk Abend is gerettet, Problem gelöst:
1
 
2
 .include "lcd-routines.asm"
3
loop:
4
           rjmp loop

Diese include Anweisung hat dazu geführt das der loop nie erreicht wurde 
und das Programm anscheinend immer von vorne angefangen hat.

Mit der include Anweisung ganz am Anfang oder nach dem loop funktioniert 
alles ;)

Danke für den Tipp!

Gruß,
Herbert

von Herbert (Gast)


Lesenswert?

Klappt doch noch nicht alles:

Wenn ich die include Anweisung wie auch im AVR-Tutorial nach dem loop 
setze, gibt mir das AVR Studio 6 Errors aus, dass die aufgerufenen 
Unterprogramme (lcd_init, ..) nicht definiert sind.

Wenn ich die Anweisung ganz an den Anfang setze, funktioniert es ohne 
flackern, aber wenn ich die Stromzufuhr kurz entferne und wieder 
anschließe, kommt in Zeile 1 ein schwarzer Balken, aber kein Text.

Wäre super wenn ihr noch ein paar Tipps dazu hättet ;)

Gruß,
Herbert

von Herbert (Gast)


Lesenswert?

Sorry konnte es kurz nach dem Post lösen:

Ich musste am Ende des Programmes noch eine leere Zeile anfügen? Etwas 
wirsch aber das war die Lösung. :)

Gruß!

von Josef D. (jogedua)


Lesenswert?

glaube ich nicht.

Als Lösung würde ich nur das akzeptieren, was ich auch verstanden habe.
Warum sollte eine Leerzeile am Ende das Programm verändern?

Vielleicht hätte es ja auch gereicht, stattdessen eine 6 zu würfeln.

von spess53 (Gast)


Lesenswert?

Hi

>Vielleicht hätte es ja auch gereicht, stattdessen eine 6 zu würfeln.

So weit ich weiss, reagiert der Compiler allergisch auf eine nicht 
abgeschlossene letzte Zeile.

MfG Spess

von Josef D. (jogedua)


Lesenswert?

spess53 schrieb:
> So weit ich weiss, reagiert der Compiler allergisch auf eine nicht
> abgeschlossene letzte Zeile.

Was ist damit gemeint?

von spess53 (Gast)


Lesenswert?

Hi

>Was ist damit gemeint?

$0D/$0A am Ende.

MfG Spess

von Josef D. (jogedua)


Lesenswert?

und woran erkennt man die allergische Reaktion des Compilers?

von spess53 (Gast)


Lesenswert?

Hi

>und woran erkennt man die allergische Reaktion des Compilers?

Hast du doch hier gesehen. Oder probiere es doch einfach aus.

MfG Spess

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.