PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit dem Reset mal umgekehrt!



T.J.
23.01.2008, 10:26
Hallo,

viele werden das kennen: Meist Leute die noch nicht lange mit einem AVR arbeiten vergessen den PullUpwiderstand o.ä. und wundern sich warum der Controller ab und zu mal ein Reset macht.

Ich habe seit gestern folgendes Problem:
Ein ATMega32 betrieben mit einer externen Clock an XTAL1 (2MHz) läuft mit einem kleinen Programm was eine LED blinken lässt und ein LCD mit "test" initialisiert. sonst nix
Dann ging mein LCD nicht mehr, ich habe einige Sachen probiert, ohne Erfolg (Das LCD ging plötzlich aus, vermutlich ein Kontaktproblem, aber das tut nix zur Sache) und plötzlich ließ sich der Controller nicht mehr programmieren.
Ich habe mich zunächst gewundert und dann den Fehler gefunden: er macht keinen Reset mehr!!!
Ich habe auch direkt am Reset PIN des Mega32 gemessen, wenn ich den Taster drücke geht der von 5V auf GND. Der Prozessor läuft weiter, die LED blinkt!

kennt jemand dieses Problem? bzw. ist das ein Problem was NICHT mit einem Defekt des Mega zu tun hat? Die Beschaltung ist ok, ich habe einfach einen anderen Mega genommen und der funktioniert wie er soll. Was kann mit dem Teil passiert sein? :-k

python_rocks
23.01.2008, 10:56
Hallo T.J.!

Vielleicht hast du dir aus Versehen das RSTDISBL-Fusebit gesetzt. Siehe dazu auch: https://www.roboternetz.de/wissen/index.php/Avr#Die_Fusebits

mfg
Gerold
:-)

oberallgeier
23.01.2008, 11:01
Na ja, man kann den Reset bei manchen AVR´s auch abschalten in den Fusebits. Aber beim m32 ist das m.W. nicht der Fall.

Es KÖNNTE trotzdem sein, dass Du ein Problem mit den Fuses hast (doc, Seite 44):
1. When the BOOTRST fuse is programmed, the device will jump to the Boot Loader address at reset, see “Boot Loader Support – Read-While-Write Self-Programming” on page 244.

... oder etwas anderes :(

T.J.
23.01.2008, 11:31
Das mit dem RSTDISBL klingt logisch, hat der Mega32 aber nicht wenn ich das dem Datenblatt jetzt richtig entnommen habe. Bei Mega8 ist der RST Pin mit einem I/O doppelt belegt, da wird es so sein.

Versetzt nicht bootrst nur die Adresse bei einem Reset? er blinkt ja weiter obwohl ich den Taster drücke :D

Ein RSTDISBL fuse wäre die erklärung, nur leider kann ich das beim Mega32 nicht finden. Gibt es andere Möglichkeiten?

oberallgeier
23.01.2008, 11:52
Mit dem M32 habe ich nur einige wenige, einfachere Programme Erfahrung - aber mit seltsamen Resets doch mehr :( :( :(. Nur - wie Du schon schreibst - mit denen, die kommen, nicht denen die wegbleiben.

Zu den Fusbits hilft Dir vielleicht das weiter:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=&P=ATmega32
immerhin zeigt der ALLE verfügbaren Bits.

T.J.
23.01.2008, 12:01
Die Seite ist ja richtig gut! danke für den Link. Leider kann ich dort feststellen, dass ich durch die Fusebits dort kein müll gemacht haben kann.

Wenn ich am Reset Pin direkt GND messe obwohl er weiterblinkt, kann er ja nur defekt sein oder? Dagegen spricht ja aber dass er läuft :D

oberallgeier
23.01.2008, 12:45
... kann ich dort feststellen ... kein müll gemacht ... kann er ja nur defekt ...Das sieht mir auch danach aus - aber wer weiss das schon wirklich :(.

Lunarman
23.01.2008, 12:49
öhm... nur weil er kein Reset macht heißt das nicht das der Rest nicht weiterlaufen kann. Aber ich würde davon ausgehen das er kaputt ist, ja...

T.J.
23.01.2008, 13:06
... nur weil er kein Reset macht heißt das nicht das der Rest nicht weiterlaufen kann....

hä? wie meinst du das?

ok, ich werde dann erstmal mit einem anderen weiterarbeiten. mein nagelneues OLED ist seit gestern kurz vor der resetaktion dunkel :(

Lunarman
23.01.2008, 13:08
Wenn ich am Reset Pin direkt GND messe obwohl er weiterblinkt, kann er ja nur defekt sein oder? Dagegen spricht ja aber dass er läuft :D

ich meinte, wenn er läuft heißt das nicht das Reset gehen muss oder andersrum. Ein µC kann auch teilweise kaputt sein.

T.J.
23.01.2008, 13:13
achso, jo

vielleicht wandern nur am Resetpin keine ellis mehr :D

Besserwessi
23.01.2008, 20:25
Wegen der Möglichkeit zum Programmieren mit 12 V Signal hat der Reset pin etwas weniger Schutz am Eingang. Damit ist der Reset Pin Empfindlicher gegen ESD als die anderen Pins.
In den meisten Datenblättern wird als Schutz eine zusätzliche Dioden von Reset nach VCC empfohlen. In vielen Schaltungen wird die aber gespart oder vergessen.
Das dumme an einem kaputen Reset Pin ist vor allem, das man dann nicht mehr per ISP programmieren kann.

oberallgeier
23.01.2008, 20:50
Ich bin selbst erst heute abend über dieses Thema gestolpert - auf einer schicken, informativen Site
http://www.mikrocontroller.net/articles/AVR_Checkliste#Reset-Pin_korrekt_beschaltet.3F
DAS sollten wir öfters lesen :( - oder im Pannenfall gleich zuerst. Damit will ich Besserwessis Argumentation unterstreichen, nicht abmildern. Blos - manche wissen das so - und ich muss das immer erst nachfragen oder suchen :( :( :(

T.J.
23.01.2008, 21:10
Ich habs vor einer Stunde leider rausgefunden. Mein Schaltregler hatte ein Wackelkontakt in der Masse und das Steckbrett hat daher zwischen 12V und 5V geschwungen.....also hab ich ihn doch gegrillt. ;)

Leider waren auf dem Steckbrett auch andere Sachen die nur 5V vertragen....daran hab ich rausgefunden, dass es kein softwarefehler o.ä. gewesen sein kann.