Tag! Ich bin gerade dabei, auf einen Displaytech 162A mittels Bascom und dem ATMEGA16 ein einfaches "Hallo" auf dem Display auszugeben... Mein Display zeigt immer nur schwarze Rechtecke in der ersten Zeile, was bedeutet, dass das Display nicht richtig initialisiert wurde. Dann steh ich an und frag mich: HÄ ? !!! Bitte um eine rasche Hilfe ;-) LG
Karl Müller schrieb: > Bitte um eine rasche Hilfe ;-) Genau wie bei allen anderen * Taktfrequenz überprüfen * Schaltung überprüfen * Verkabelung überprüfen * Programm überprüfen Frag dich selber: zu welchem Punkt hast du Informationen gegeben bzw. die Details dazu hergezeigt? Wie sollen wir dir daher helfen, wenn du nichts herzeigst?
Hier ist doch das richtige Beispiel für einen Artikel für den Wettbewerb. Titel: "HowTo: LCD Display richtig initialisieren" Inhalt: Auf was muss ich achten, typische Fehler. Das wäre vermutlich einer der nutzlichsten Artikel aller Zeiten. Die LCD Initialisierungs Frage gibt es fast täglich.
* Taktfrequenz überprüfen (check) * Schaltung überprüfen (check) * Verkabelung überprüfen (check) * Programm überprüfen --> naja ;-) genau das wollen wir ja haben! hat jemand einfach so ein kleines programm
Karl Müller schrieb: > * Taktfrequenz überprüfen (check) > * Schaltung überprüfen (check) > * Verkabelung überprüfen (check) Das sagen sie alle. Und trotzdem finden sich dann doch immer wieder Fehler in diesen Bereichen. (Und ja. Ist mir auch schon passiert, dass ich felsenfest davon überzeugt war das LCD richtig angeschlossen zu haben und bei der Kontrolle hab ich gemerkt, dass die 4 Datenleitungen nicht auf DB4-DB7 gehen sondern auf DB0-DB3, was natürlich eine Funktion verhindert) > * Programm überprüfen --> naja ;-) genau das wollen wir ja haben! Wo ist deines? Ach komm. Das ist doch in BASCOM ein 7 Zeiler! Du wirst den doch wohl herzeigen können!
$hvstack = 128 $svstack = 128 $framesize = 128 COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 = PORTV.5 , Rs = PortC.0 , E = PORTC.1 $baud = 9600 $crystal = 8000000 Cursor Off Cls Lcd "Hallo" Lowerline Lcd "v.1.1" Locate 1.1 End
> Das sagen sie alle. > Und trotzdem finden sich dann doch immer wieder Fehler in diesen > Bereichen. > (Und ja. Ist mir auch schon passiert, dass ich felsenfest davon > überzeugt war das LCD richtig angeschlossen zu haben und bei der > Kontrolle hab ich gemerkt, dass die 4 Datenleitungen nicht auf DB4-DB7 > gehen sondern auf DB0-DB3, was natürlich eine Funktion verhindert) > Wir haben die Platte und alles andere schon 100 mal überprüft. Da stimmt alles!
Sam Sung schrieb: > Hallo Leute!! > > Habe auch das gleiche Problem, bitte helft uns!! @ Sams Sung Was geht bei dir genau nicht? Haust du auch das Problem, dass der Displaytech nicht initialisiert wird?
Sam Sung schrieb: > Ja!! Erste Zeile voller schwarzer Rechtecke! Hm.. anscheinend hat hier niemand eine Lösung :'(
ganz ehrlich
1 | COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 |
2 | = PORTV.5 , Rs = PortC.0 , E = PORTC.1 |
verarsch wen anderen! Einmal möchte ich dich noch daran erinnern: Du bist der der Hilfe braucht. Nicht wir!
Karl Heinz Buchegger schrieb: > ganz ehrlich >
1 | > COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 |
2 | > = PORTV.5 , Rs = PortC.0 , E = PORTC.1 |
3 | > |
> > verarsch wen anderen! > > > Einmal möchte ich dich noch daran erinnern: Du bist der der Hilfe > braucht. Nicht wir! war kein copy paste, da der code auf nem anderen rechner läuft! Config Lcdpin = Pin , Db4 = PORTC.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 = PORTC.5 , Rs = PORTC.0 , E = PORTC.1
Karl Müller schrieb: > Karl Heinz Buchegger schrieb: >> ganz ehrlich >>
1 | >> COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 |
2 | >> = PORTV.5 , Rs = PortC.0 , E = PORTC.1 |
3 | >> |
>> >> verarsch wen anderen! >> >> >> Einmal möchte ich dich noch daran erinnern: Du bist der der Hilfe >> braucht. Nicht wir! > > war kein copy paste, da der code auf nem anderen rechner läuft! Genau darum geht es. Fährst du mit deinem Auto zum Mechaniker, wenn es klappert oder nimmst du das vom Nachbarn, weil es eh so ähnlich aussieht? > Config Lcdpin = Pin , Db4 = PORTC.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 > = PORTC.5 , Rs = PORTC.0 , E = PORTC.1 PORTC - AtMega16 -> JTAGEN Fuse abdrehen
hm, kenn mich in Bascom genau gar nicht aus - hab den code einfach von irgendwo aus dem netz! wo soll ich das portc - atmega16 hinschreiben? bez wo soll ich JTAGEN Fuse abdrehen?
Hi >war kein copy paste, da der code auf nem anderen rechner läuft! Aber nicht der, von Karl-Heinz zu Recht bemängelte Code. >Db4 = PORT.2 >Db7 = PORTV.5 Um welchen Controller geht es überhaupt? Bei dei den 40pol. werden einige Leitungen des PortC im Auslieferzustand durch JTAG blockiert. MfG Spess
Karl Müller schrieb: > wo soll ich das portc - atmega16 hinschreiben? Du sollst nicht das PORTC oder AtMega16 irgendwo hinschreiben. Ein beliebter Fehler ist es, dass beim Mega16 die JTAGEN Fuse ab Werk gesetzt ist. Dadurch kann der Port C nicht wie gewohnt benutzt werden, weil dort das JTAG INterface herausgeführt ist. Einige der Pins am Port C stehen damit nicht unter deiner Kontrolle. Die Abhilfe: Die JTAGEN Fuse steuert, ob JTAG aktiv ist oder nicht. Mit der Fuse das JTAG INterface abschalten, und du hast wieder die Kontrolle über den kompletten Port C. > bez wo soll ich JTAGEN > Fuse abdrehen? Irgendwo in deinem Brennprogramm, mit dem du das Programm auf den µC überträgst, gibt es eine Möglichkeit die Fuses zu lesen, die JTAGEN Fuse abzuschalten und die Fuses wieder zu brennen. > $crystal = 8000000 Wie hast du denn die 8Mhz eingestellt, wenn du nicht weißt, was Fuses sind und was man mit ihnen macht?
spess53 schrieb: > Hi > >>war kein copy paste, da der code auf nem anderen rechner läuft! > > Aber nicht der, von Karl-Heinz zu Recht bemängelte Code. > >>Db4 = PORT.2 >>Db7 = PORTV.5 > > Um welchen Controller geht es überhaupt? Bei dei den 40pol. werden > einige Leitungen des PortC im Auslieferzustand durch JTAG blockiert. > > MfG Spess Wir benutzen AVRDUDE um den Controller zu flashen. Wie setzt man das JTAGEN FuseBit?
Karl Heinz Buchegger schrieb: > Karl Müller schrieb: >> FuseBits sind gelegt auf E4 sowie 99! > > http://www.engbedded.com/fusecalc Und jetzt? Ich kenn mich einfach nicht mehr aus :( Bitte um genaue schritte, was ich jetzt machen soll...
Als kleiner Vorschlag : $regfile = "m8def.dat" $crystal = 16000000 $hwstack = 100 $swstack = 100 $framesize = 100 Config Lcd = 16 * 2 Cls Cursor Off ------------------------------- In Deinem Code : COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 = PORTV.5 , Rs = PortC.0 , E = PORTC.1 Was ist db7=portV.5 ? ------------------------------- Mein Beispiel : Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 do Locate 1 , 1 Lcd "Hallo" loop Ansonsten kannst hier gucken : http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/
Karl Müller schrieb: > Karl Heinz Buchegger schrieb: >> Karl Müller schrieb: >>> FuseBits sind gelegt auf E4 sowie 99! >> >> http://www.engbedded.com/fusecalc > > Und jetzt? > Ich kenn mich einfach nicht mehr aus :( Lass es. Such dir ein anderes Hobby. > > Bitte um genaue schritte, was ich jetzt machen soll... Auf der Website den Meg16 auswählen. Dann unten deine E4 und die 99 eingeben. Auf Apply Values drücken, damit aus den Werten die Häkchen generiert werden. Dann nach oben scrollen, den Haken bei JTAGEN rausnehmen. Nach unten scrollen und was steht da bei den Fuse-Zahlen? E4 D9 Das sind also deine Fuses, die ansonsten nichts verändern ausser JTAG abzuschalten. Und die brennst du mit AVRDUDE Was ist denn da jetzt schwer drann? Da wage ich doch gar nicht daran zu denken, wie das wird, wenn du mal was programmieren sollst und man wirklich um 5 Ecken denken muss.
>> Bitte um genaue schritte, was ich jetzt machen soll... > > Auf der Website den Meg16 auswählen. > Dann unten deine E4 und die 99 eingeben. > Auf Apply Values drücken, damit aus den Werten die Häkchen generiert > werden. > Dann nach oben scrollen, den Haken bei JTAGEN rausnehmen. > Nach unten scrollen und was steht da bei den Fuse-Zahlen? > E4 D9 > Das sind also deine Fuses, die ansonsten nichts verändern ausser JTAG > abzuschalten. > Und die brennst du mit AVRDUDE > > Was ist denn da jetzt schwer drann? > Da wage ich doch gar nicht daran zu denken, wie das wird, wenn du mal > was programmieren sollst und man wirklich um 5 Ecken denken muss. In Bascom werd ich nie wieder was machen ;-) Ist nur für einen Test zweck! Meine Sprachen sind neben (html, css und javascript) C, C#, C++, Java, MySql! Im Bereich Bascom hab ich wie gesagt, nichts zu tun!
Karl Müller schrieb: > In Bascom werd ich nie wieder was machen ;-) Ist nur für einen Test > zweck! Das hat doch mit BASCOM nichts zu tun (Ausser das das sicher auch mit dem BASCOM Programmierdialog geht, wenn du deinen Brenner mit AVRDUDE ansteuern kannst) Das ist ganz normales AVR-Handling. Dazu muss man sich halt ein wenig einlesen. > Meine Sprachen sind neben (html, css und javascript) C, C#, C++, Java, > MySql! Dafür stellst du dich aber ziemlich d..... an
---------------- > In Deinem Code : > COnfig Lcdpin = Pin , Db4 = PORT.2 , Db5 = PORTC.3 , Db6 = PORTC.4, Db7 > = PORTV.5 , Rs = PortC.0 , E = PORTC.1 > > Was ist db7=portV.5 ? > ------------------------------- > Mein Beispiel : > Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , > Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 db7=portV = hab mich verschrieben! (C !!)
Und? Wars das JTAGEN? Sagt ja keiner, dass nicht noch ein Problem vorliegen kann.
die Konfiguration von Db4 = PORT.2 sollte in Db4 = PORTC.2 umbenannt werden. Ist die R/W Leitung fest mit Masse verbunden oder wurde die vergessen?
Karl Müller schrieb: > Meine Sprachen sind neben (html, css und javascript) C, C#, C++, Java, > MySql! Im Bereich Bascom hab ich wie gesagt, nichts zu tun! HTML und CSS sind deiner Ansicht nach also (Programmer-)Sprachen? Hm, das erklärt einiges.
Sam Sung schrieb: > Habe auch das gleiche Problem, bitte helft uns!! Kein Wunder, schließlich sitzt du ja am gleichen Computer wie Karl.
Karl Müller schrieb: > Meine Sprachen sind neben (html, css und javascript) C, C#, C++, Java, > MySql! Im Bereich Bascom hab ich wie gesagt, nichts zu tun! Wieso plagst Du Dich dann mit Basic und Bascom! Wenn Du C kannst, dann verwende WinAVR oder das Atmel Studio.
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.