Versuch mal vor dem Code ein Wait 1.
Das Display wird nach dem Einschalten erst mal ein paar ms brauchen, bis es "empfangsbereit" für Daten ist.
Tach Leuts!
Ich hab mir vor längerer Zeit einen GLCD bei Ebay gekauft, und wollt ihn jetzt zum laufen bringen, jedoch ergaben sich ein paar Probleme:
Ich hab immoment nur einen Attiny2313 hier, und wollts dann halt mit dem ausprobieren... jetzt hab ich den GLCD wie folgt angeschlossen:
DB0 - DB7 an PortB
CS1 an PortD.0
CS2 an " .1
R/W an " .2
R/S an " .3
reset an " .5
Enable an " .4
So, ich benutze folgenden Code in Bascom:
Wenn ich jetzt den MC einschalte und das GLCD mit Strom versorge kommt nur etwas Pixelmüll raus(Angehängte Datei)Code:$regfile = "attiny2313.dat" $crystal = 8000000 $lib "glcdKS108.lbx" Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4 Portb = &B11111111 Cls Circle(30 , 30) , 10 , 1 Do Loop
man kann ja rechts leicht einen Kreis erkennen, ich denke dass das aber nur Zufall ist...
Fehlt bei der Beschaltung noch irgendwas? Hab ich was vertauscht? vielleicht irgendwelche PullUp's?
Vielen Dank schonmal,
Tom
Versuch mal vor dem Code ein Wait 1.
Das Display wird nach dem Einschalten erst mal ein paar ms brauchen, bis es "empfangsbereit" für Daten ist.
#ifndef MfG
#define MfG
Ist das Setzen von Portb notwendig?
Probier doch erst mal einen Text auszugeben (s. Lcdat, Lcd, Locate) oder gezielt Pixel ansteuern...ist glaub ich besser zu erkennen ob es dann funktioniert oder nicht.Portb = &B11111111
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Boa das ging aber schnell, danke!
Das setzten von PortB hab ich nur mal zum Test gemacht, hat aber nichts geändert...
Ich habs jetzt mal mit dem Text versucht, da Passiert aber auch nichts anderes alls Balken und vereinzelt Pixel...
Auch das Wait 1 hat nichts gebracht
Selbst PSET bringt Balken...
Vielen Dank nochmal,
Tom
Edit: Ich hab jetzt nochmal überprüft: wenn ich den Display mit CLS lösche, halt nach dem "hochfahren" kommen auch schon diese Balken ´, die ändern sich aber ständig, daher liegts nicht an irgendwelchen kapputen sachen im LCD(zuminderst nichts durchgeschmort)
Kann es sein, dass Cd und Rd vertauscht sind?
Cd = 2 , Rd = 3
...
R/W an " .2
R/S an " .3
Rd müsste eigentlich R/W sein.
#ifndef MfG
#define MfG
Stimmt jeztz wo Jaecko es schreibt fällts mir auch auf^^.
RD entspricht R/W
CD entspricht R/S
Wenns nur das war sollte es danach laufen
Elektronische Bauteile funktionieren mit Rauch. Lässt man den Rauch raus, sind sie kaputt.
Hi,
tschuldigung, ich hab das flasch beschriftet, angseschlossen hab ichs schon richtig, habs auch schonmal getauscht, dann muckt sich garnix...
Danke nochmal,
Tom
Ein Problem bei diesen GLDC's ist :
Ich habe hier 3 verschiedene mit 3 anderen Pinbelegungen.
Sicher das Deine die Richtige zum GLCD ist ?
Gento
Die Pinbelegung stimmt, ich hab sie X-Mal überpfrüft...
Hier ist das "Datenblatt":
http://www.sure-electronics.net/mcu,..._Ver1.0_EN.pdf
Da müssen irgendwelche Initialisierungs Befehle Falsch sein oder so, weil ich ja immer so Balken bekommen...
Kann es am Attiny2313 liegen?
MFG
Tom
Hast du zufällig AVR-Studio oder ne andere Umgebung für C-Programme? Für ein KS0108 hätt ich in C nen funktionierenden Code. Da könnte man dann mal testen, ob an der Hardware was nicht stimmt oder ob Bascom da was verbockt.
(Alternativ versuch ich mal, ob ich den Code in ne .hex für den Tiny umbiegen kann; mit Bascom sollte die .hex ja hochladbar sein)
Nachtrag 1: Das mit dem zu grossen Programm war Käse. Habs in Bascom versucht, es müsste in den ATTiny passen. (Das Programm hatte in C bei mir 400% Flash belegt...)
Nachtrag 2: Hab in Bascom mal mein KS0108 angesteuert (mit nem ATMega12; der Code von dir wurde 1:1 übernommen (mit Ausnahme der Pinbezeichnungen), und bei mir klappt er; es wird also ein Kreis gezeichnet. D.h. wird vermutlich irgendwo an der Hardware liegen. Reihenfolge von D0...D7 vertauscht?
Und Nachtrag 3: Kaum schmeisst man die mathematischen Funktionen für doubles raus, schon passt die Grösse.
Im Anhang ist mal die erzeugte .hex; die Pinbezeichnungen hab ich von dir übernommen; theoretisch müsste es funktionieren und das Display abwechselnd im Sekundentakt die folgenden Dinge anzeigen:
1: leeres Display
2: alle ungeraden Zeilen
3: alle geraden Zeilen
4: vollständig gefüllt
#ifndef MfG
#define MfG
Lesezeichen