Nachdem ich jetzt die ganze Nacht mit der Fehlersuche verbracht habe, ist mir etwas sehr eigenartiges aufgefallen: Sobald ich mich mit der Hand meiner Schaltung nähere, spielt die verrückt. Mir ist schon vorher aufgefallen, dass der µC plötzlich das Schalten von Pins erkannt hat, ohne dass die geschaltet wurden, aber dass er sie sogar schaltet, wenn ich ihm zu nahe komme, ist mir unbegreiflich. Hier eine Zusammenfassung merkwürdiger Fehler, die bei der Findung des Problems evtl. helfen könnten: *Pins an Port D werden bei Annäherung als angeschaltet erkannt *Anschalten anderer Pins schaltet wieder andere an *Berühren der Platine (egal wo und wie fest, aber nur manchmal) schaltet Pins ein *Ich muss Ausgänge auf 1 schalten, um sie zu anzuschalten, bei 0 gehen sie aus *Bei eingängen ebenfalls. *Besonders erstaunlich: Eine Test-LED, die an einem Pin hängt, geht auf 1 aus und auf 0 an. Am selben Pin geht eine 2. Led bei 1 an und bei 0 aus. Die Schaltung habe ich fertig gelötet bestellt (beim Shop hier) und habe nochmal alles gründlich auf Lötfehler oder Wackelkontakte geprüft und Kontakte gemessen - alles ganz normal. Ich habe mal ein qualitativ grässliches Video des Phänomens angehängt und nochmal ein helleres Foto in höherer Auflösung: http://home.arcor.de/hendaws/100_3605.MOV http://home.arcor.de/hendaws/DSC_4043.JPG Ich hoffe, irgendjemand weiß eine simple Erklärung dafür und im besten Fall, wie man das behebt... Um ehrlich zu sein, finde ich es etwas gruselig :D
Ach ja, noch ein Hinweis: Das Blinken ist kein komplettes Spinnen, es soll eigentlich gewollt zum Testen entstehen, wenn an Port D ein Pin geschaltet wird...
schalten die taster nach gnd und sind die pullups an den eingaengen aktiviert? zeig mal den code...
Also die Pullups müssten aktiviert sein (hab jedenfalls nichts bewusst verändert) und die Taster schalten nach GND.. Bitte nicht über den Code lachen, bin Asm-Anfänger :D
ich kann zwar kein asm, aber fueg mal am anfang bei der initialisierung das hier ein: ldi r16, 0xff out PORTD, r16 damit aktivierst du die internen pullups. ansonsten haenge die eingaenge "in der luft" und nicht auf definiertem pegel. du faengst dir wahrscheinlich ein 50Hz brummen ein...
Unglaublich, aber das Mysterium ist gelöst :D Vielen, vielen Dank! Das war tatsächlich die Ursache... Jetzt kann ich doch noch ohne Albträume schlafen!
zwar kein asm, aber die erklaerung: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_Ports dann gute n8
noch spaeter? geh lieber schlafen :) weiter unten in dem link kommt das entscheidende: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Tasten_und_Schalter
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.