Hallo, Ich habe eine Schaltung mit ATMEGA32 und einem LCD auf einem Steckbrett gesteckt. Da ich alle anderen Ports benötige habe ich das LCD auf den PortB gesteckt. Der ATMEGA32 wird per ISP (ParallelPort) programmiert. Seitdem sich das LCD am PORTB befindet, endet nur jeder 5te Schreibversuch erfolgreich. Schon 2 mal ist nach einem gescheiteten Schreibversuch ist der Mikrocontroller mausetot. Gibts da einen Trick, wenn man am PortB etwas dranhängen hat und programmieren mochte (ausgenommen DIP-Schalter)???
Poste mal den Schaltplan (als png!) vielleicht kann man dir dann besser helfen... Grüße, Alex
Serienwiderstände in den SCK, MISO und MOSI Leitungen siehe Figure 4-2 in AVR042: AVR Hardware Design Considerations http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf und Figure 3 in AVR: In-System Programming http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF
Du musst dafür sorgen das der Enable oder der R/W Pin nicht high gehen oder floaten. Also z.B. Pulldown an einen von den beiden Pins. Widerstände in die Datenleitungen legen könnte auch helfen.
Schaltplan gibts noch keinen. Belegung (4 Bit Mode): LCD_RS PB0 LCD_RW PB1 LCD_E PB2 LCD_DATA PB4 LCD_DATA PB5 MOSI LCD_DATA PB6 MISO LCD_DATA PB7 SCK Besteht die Gefahr des Controllersterbens immer, wenn beim flashen ein Fehler auftritt??? Ein Bootloader würde das Problem beseitigen, aber ich finde keinen fürn ATMEGA32. Hat jemand einen Bootloader (+hex) dafür, der mit Megaload funkt???
Ja is klar, die LCD Daten spucken in die SPI-Signale. Abhilfe wie oben schon von Holger und Stefan beschrieben, aber Serienwiderstände in die LCD Datenleitungen. Der Controller ist nicht verstorben, evtl. aber verfused.
Burns B. wrote: > Ich habe eine Schaltung mit ATMEGA32 und einem LCD auf einem Steckbrett > gesteckt. Da ich alle anderen Ports benötige habe ich das LCD auf den > PortB gesteckt. Der ATMEGA32 wird per ISP (ParallelPort) programmiert. > Seitdem sich das LCD am PORTB befindet, endet nur jeder 5te > Schreibversuch erfolgreich. Ein Wunder, daß es überhaupt mal funktioniert. Beim Reset sind alle Pins hochohmig und damit floaten auch die Pins des LCD lustig in der Gegend rum. Sobald E und RW dabei auf high kommen, ist das LCD aktiv und dessen Ausgänge kämpfen dann mit Deinem Programmer. Sowas ist garnicht gut für das LCD. Du must mindestens E mit nem Pulldown beschalten !!! Peter
Besten Dank an alle Helfer. Funktioniert mit ein paar Widerständen gleich viel besser.
Hmmm Noch ne Frage!!! Es ist die Vermutung gestellt worden, dass meine 2 "defekten" Controller warscheinlich gar nich defekt sind. Werde es probieren statt dem Quarz eine Quarzoszillator einzusetzen. Falls das auch nicht hilft, was könnte ich noch probieren. (ausgenommen 2 neue kaufen)
Du kannst einen AVR unabhängig von den Fuses immer im highvoltage-mode programmieren. Dazu kannst du z.B. ein STK-500 oder ein Galep oder ähnliches verwenden. Grüße, Peter
>Du kannst einen AVR unabhängig von den Fuses immer im highvoltage-mode >programmieren. Ein ATMega32 hat keinen HighVoltage Modus.
Ja, die Spannung ist nicht höher als sonst, das weiß ich auch. Ich bezeichne das nur umgangssprachlich so, wenn es sich um eine parallele Programmierung handelt - und die hat er und da sind die Fuses egal. Peter
holger wrote: > Ein ATMega32 hat keinen HighVoltage Modus. Unsinn. Alle aktuellen AVRs haben einen High-Voltage-Programmiermodus! Das "High Voltage" bezieht sich auf die Spannung, die dazu am Reset angelegt wird. Und die ist high im Vergleich zur normalen Betriebsspannung.
>> Ein ATMega32 hat keinen HighVoltage Modus. >Unsinn. Alle aktuellen AVRs haben einen High-Voltage-Programmiermodus! Ja, hat er. Ich geh jetzt in die Ecke und schäm mich :(
> Ja, hat er. Ich geh jetzt in die Ecke und schäm mich :( Das ist nicht nötig. Jeder hat das Recht, sich mal zu irren. Und einen Irrtum kann man zugeben, ohne sich gleich in die Ecke stellen zu müssen. Eigentlich warte ich in diesem Thread noch auf das JTAG-Problem... ;-) ...
Hannes Lux wrote: > Der Tag wird kommen... > > ... Mal nicht den Teufel an die Wand ;-}
Hmmm JTAG :-) Ne ich werde mir mal das mit dem high voltage Programmiermodus anschauen. STK 500 hab ich zwar nicht aber wenn ich noch ein paar ATMEGAS verfuse dann ist ein STK500 schon billiger als neue Controller. ;-)
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.