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
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
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
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
> 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)...?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.