Forum: Mikrocontroller und Digitale Elektronik Atmega32 loest durch low-pegel am PD6 Reset aus?


von Mike (Gast)


Lesenswert?

Hallo liebe Gemeinde,

ich bin heute bei einem etwas komplexeren Aufbau auf ein eigenwilliges 
Verhalten meines Atmega32 gestossen. Die Ports PortC und PortD werden 
komplett als Input-Pins verwendet und Schalter darueber abgefragt. Wird 
ein Schalter gedrueckt, so wird der gepullte Pin nach GND gezogen.

Ziehe ich nun den Pin PD6 gegen GND, so wird die MCU neu gestartet. In 
der Dokumentation konnte ich hierfuer keinen Grund finden. Auch ein 
Kurzschluss und dadurch bedingter Spannungsabfall im System (Brown-Out) 
kann ich ausschliessen. Der Fehler laesst dich auch direkt an der MCU 
durch ein Kabel gegen GND ohne weitere Beschaltung ausloesen.

Da ich diesen Pin aber benoetige und die MCU auch sonst voll beschaltet 
ist, wuerde ich dieses Problem gerne loesen.

Habt ihr da einen Hinweis fuer mich?

Mit GRuss

Mike

von Ben _. (burning_silicon)


Lesenswert?

Ohne Programm nicht.

von Mike (Gast)


Lesenswert?

Hallo,

das wird schwierig, da der Sourcecode mittlerweile viele 
selbstgeschriebene Bibliotheken umfasst. Es ist mir aber generell bisher 
kein Weg bekannt, wie ich den Pin PD6 zu einem Resetausloeser umbauen 
koennte. Vielleicht kennt ihr ja einen, den ich dann umgehen kann.

Mit Gruss

Mike

von Michael S. (captain-stone)


Lesenswert?

Hallo Mike,

> Ziehe ich nun den Pin PD6 gegen GND, so wird die MCU neu gestartet.

Ist der PIN in der Software auch richtig konfiguriert? PD6 ist auch ICP1 
(Timer/Counter1 Input Capture Pin).

Ich würde da auch mit dem Oszi z.B. auf den Reset Pin schauen, um sicher 
zu gehen, dass die beiden Leitungen nicht irgendwo einen Kurzen haben,

Captain

von Simon B. (nomis)


Lesenswert?

Mike schrieb:
> Es ist mir aber generell bisher
> kein Weg bekannt, wie ich den Pin PD6 zu einem Resetausloeser umbauen
> koennte. Vielleicht kennt ihr ja einen, den ich dann umgehen kann.

Dein Programm läuft bei einem Low-Pegel auf PD6 in eine Endlosschleife, 
so dass irgendwann der Watchdog zuschlägt.

Viele Grüße,
        Simon

von Ben _. (burning_silicon)


Lesenswert?

> Es ist mir aber generell bisher kein Weg bekannt, wie ich den
> Pin PD6 zu einem Resetausloeser umbauen koennte.
Wieso? Funktioniert bei Dir doch erstklassig! ;)

Nein, Spaß beiseite. Ohne den Code wird Dir hier leider niemand sagen 
können was da schiefgeht. Es ist wahrscheinlich irgendeine 
Fehlkonfiguration dieses Pins oder ein undefinierter Interrupt was da 
den Reset auslöst.

Kannst Du ein hardwareseitiges Problem ausschließen? Also sowas wie eine 
ungewollte Leiterbahnverbindung (nachmessen) oder ein Prellen des 
Tasters (kleinen Kondensator drüberlöten)...?

von Anja (Gast)


Lesenswert?

ist mit hoher Wahrscheinlichkeit ein Hardwareproblem.
- fehlende Abblockkondensatoren (oder zu weit weg)
- Reset-Pin ohne 1-10nF Filterkondensator-Beschaltung direkt am Pin
- Stark störendes Schaltnetzteil als Stromversorgung
- Quarzbeschaltung (Cs nicht direkt an Massepin angeschlossen)

Gruß Anja

von ..... (Gast)


Lesenswert?

Spinnt ein Alternatives Programm auch so?

von ..... (Gast)


Lesenswert?

ach ja: Was sagen die reset-flags eigentlich dazu? Welche sind gesetzt?

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
Noch kein Account? Hier anmelden.