Habe den Stack hochgesetzt auf 24 und 1Mhz und 8Mhz ausprobiert.
Habe das im Programm geändert und auch die Fusebits umgestellt. Aber die Linie bleibt. Es kommt immer nur diese Linie...
Stack brauchst du ja nicht - du springst ja nicht.
schadet also auch nicht...
1 bzw. 8 Mhz interne Frequenz würde ich erstmal setzen und dann natürlich auch den Prozessor so einstellen! (nicht vergessen!)
Habe den Stack hochgesetzt auf 24 und 1Mhz und 8Mhz ausprobiert.
Habe das im Programm geändert und auch die Fusebits umgestellt. Aber die Linie bleibt. Es kommt immer nur diese Linie...
Hallo,
den hwstack immer so gross wie geht, nicht unter 32, auch wenn keine IRQs verwendet werden, denn wozu Speicher sparen, wenn sonst nix damit gemacht wird, der M16 hat ja 1KB, und man ist auf der sicheren Seite.
swstack und frame sind sowieso nur interessant, wenn man Subs oder Functions verwendet.
Probier auch mal vor dem Config Lcd ein Wait 1 zu machen, damit das LCD Zeit hat sich selber zu initialisieren, kann durchaus sein, dass das LCD noch nicht soweit ist, wenn der AVR schon an den Leitungen wackelt
Evtl. nach dem Config ein Wait und danch nochmal ein Initlcd.
Hab den Code entsprechend geändert:
Immer noch das selbe.Code:$regfile = "m16def.dat" $framesize = 16 $swstack = 24 $hwstack = 24 $crystal = 8000000 Wait 1 Config Graphlcd = 240 * 64 , Dataport = Porta , Controlport = Portd , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8 Wait 1 Cls Cursor Off Locate 5 , 20 : Lcd "Test" End
möglicherweise doch ein verkabelungsfehler ???
stell mal ein bild vom Display online...
und schreibe mal in die erste zeile
locate 1,1
lcd "test"
vielleicht noch cursor off weglassen - macht ja nix wenn man mal was sieht...
Hi,
wie ist die Polarität vom RESET-Anschluß des T6963C nach dem Init?
Weiß das Bascom wie es den T6963C zu inititalisieren hat? Es gibt auch 240x64-LCDs mit anderen Controllern, die nicht kompatibel sind.
Ich habe bereits ein LCD mit T6963C am XRAM-Interface eines ATmega162 angehängt und die Sache arbeitet zuverlässig (allerdings codiere ich in C). Das Phänomen mit der Linie tritt normalerweise auf, wenn der RESET zum LCD gegeben wird und der INIT danach nicht läuft.
Wenn es weiterhin hakt, dann versuche es mit allen Zugriffen "zu Fuß". Das heißt alle Interface-Signale per eigenem Programm kontrollieren. Sobald alles richtig ist, solltest Du das jeweilige Testmuster zu sehen bekommen.
Gruß H.A.R.R.Y.
a) Es gibt keine dummen Fragen, nur dumme Antworten![]()
b) Fehler macht man um aus ihnen zu lernen
c) Jeder IO-Port kennt drei mögliche Zustände: Input, Output, Kaputt
Dein Programm und Deine Initialisierung, Config .Lib .Lbx sind OK. Ich kaempfe mit dem gleichen Problem seit laengerer Zeit. Dies betrifft Glyn Display 128x64 (KS10, LEDSEE Touch 128x64 (KS10
, LEDSEE Touch 240x128 (T6963), Hardware und Pins sind korrekt verbunden. Ohmmeter und Oszilloscope zeigen auch alles richtig. Kleinere Quarzfrequenz, waitstates, Pullup-Widerstaende, waitstates in der .lib und .lbx bringen nichts.
Bascom mit den .lib und .lbx scheint das Problem zu sein. Bei 128x64 haengt das Programm nach dem Config, danach blinkt noch nicht mal eine LED mehr. Beim 240x128 sieht man nach dem Config wenigstens fuer 1 Sek eine
weisse Linie 240 Pixel von links nach rechts ca. in der Mitte des Display.
Wir scheinen nicht die einzigen mit diesem Problem zu sein. Manche hatten eben Glueck, dass das Display gleich lief. Der Rest, wohl die meisten, kaempfen dann in anderen Sprachen wie C oder Assembler weiter oder geben entsprechend genervt auf. Das hat man nun davon, wenn auf den Mist von anderen aufbauen muss. Leider kann ich momentan keine bessere Antwort geben.
Habe die Lösung gefunden und sie funktioniert !!! Dies ist dem Kollegen
Digitali -> Stammmitglied -> im Roboternetz zu verdanken. Sein LEDSEE
Touchdisplay 240x128 ist haargenau meines. Sein Programmcode auf
http://www.robotikportal.de/phpBB2/v...c.php?p=304949 funktioniert.
Da hat er aber Glueck gehabt !!! Sein Config Graphlcd = 240 * 128, Dataport = Portb , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6 (alles in einer Zeile) --> mit dem arbeitet --> Bascom einwandfrei. Mit meinem Code: Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6 (alles in einer Zeile) ging es nicht. Also Pech gehabt, aber kaempfen lohnte sich. Also grosses Bascom Problem (Bug) im Bascom Graphlcd. Das hatte ich bereits vermutet. Dieser Fehler tritt bei den 128x64 Displays und anderen Displays auch auf. Also
Vorsicht!!! ACHTUNG !!! Zuordnung der Portpins eventuell aendern. Beim
240x128 T6963 werden die .lib oder .lbx nicht benoetigt. Noch andere interessante Seiten in diesem Zusammenhang. Also viel Bit-Glueck !!!!
http://www.bipom.com/appnotes/bascomavr/an0129.php
http://www.team-iwan.de/technik/soft...Entl_M16_1.bas
http://www.elektronik-projekt.de/thr...8557#post38557
nur mal so
wenn der portc als controllport verwndet wird muss JTAG abgeschaltet werden sonst tut sich nix
Hallo
Ich habe ebenfalls mit einem ledsee Touch 128x64 am M32 und am M16 experimentiert. Erst nachdem ich die Quarzfrequenz auf 8MHz (intern) herabsetzte, lief das Display (nach Korrektur der Analogwerte)anstandslos. Offenbar kann das Touch-Display höhere Taktraten nicht realisieren.
Verwendete Hardware: 2 x Funkboard RFM12 von Pollin (M16 und M32). Ein Master schickt 11 Byte (Slaveadresse, Kommando, 8 Datenbytes, crcan Slaves, die ein Echo zurücksenden. Funktioniert auf Entfernungen bis zu 500m verblüffend gut.
radebeul
Kaum macht man's richtig, schon geht's.
Lesezeichen