Tag zusammen, ich habe angefangen das Tutorial durchzuarbeiten. Leider habe ich im ersten Kapitel I/O Grundlagen schon Probleme. Ich habe mir auf einem Steckbrett die Grundschaltung (siehe http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment) aufgebaut und diese mit LED's und Tastern erweitert (Kapitel Eingabe bei I/O Grundlagen). Weiterhin habe ich den Quellcode 1 zu 1 ins Atmel Studio kopiert und über ein STK500 auf den Controller geflasht. Wenn ich den Taster an PD0 betätige (dann soll eigentlich nur PB0=0 werden) wird ebenfalls der PB5=0. Manchmal wird PB5 auch 0 (also LED geht an) wenn ich nichts drücke. Ich habe alles zig mal kontrolliert, keine Brücken oder Kurzschlüsse. Auch wenn ich die LED an PB5 entferne, wird der Ausgang 0. Ähnlich verhält es sich mit PD3 und PB4, Anstatt das nur PB3 0 wird, wird auch PB4=0. Das es was mit dem ISP zu tun hat schließe ich aus, da auch diese Phänomene auftreten, wenn ich die Schaltung mit Batterie betreibe und sie vom Stk500 getrennt ist. Welches Problem ist das und wo kann ich nach Lösungen suchen??
Marcel L. schrieb: > Weiterhin habe ich den Quellcode 1 zu 1 ins Atmel Studio kopiert welchen? Den hier http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Eingabe > und > über ein STK500 auf den Controller geflasht. Wenn ich den Taster an PD0 > betätige (dann soll eigentlich nur PB0=0 werden) wird ebenfalls der > PB5=0. Manchmal wird PB5 auch 0 (also LED geht an) wenn ich nichts > drücke. Das ist ok. Du hast nur an den ersten 4 Pins einen Taster (und einen externen Pullup). Du hast doch die erste Schaltung mit den externen Pullup-Widerständen genommen, oder? Der springende Punkt ist der, dass in diesem Programm keine internen Pullup-Widerstände gesetzt sind. D.h. an allen Pins, an denen nichts hängt (PD4 bis PD7) kann alles mögliche passieren. Die Eingänge sind offen und je nachdem wie gerade der Wasserstand in der Donau ist, der Fernseher eingeschaltet ist, dein Handy sich gerade was mit dem Telefon-Provider aushandelt, ... fängt sich so ein offener Eingang alles mögliche an elektromagnetischer Strahlung aus der Umgbung ein. PD5 ist ein offener Eingang und mittels in r16, PIND out PORTB, r16 wird der komplette Port, also auch der Zustand aller offenen Eingänge vom Port D auf den Port B 'gespiegelt'. Deine PB5 zeigt dir also gerade an, dass sich der offene Eingang etwas 'eingefangen' hat. > Ähnlich verhält es sich mit PD3 und PB4, Anstatt das nur PB3 0 wird, > wird auch PB4=0. Selbe Ursache. Kein Grund zur Panik. Merk dir daraus: ein Eingang an dem nichts hängt, ist nicht sicher gestellt, dass er sich mit 0 meldet. Schliess deine Taster mal ohne externen Pullup an, so wie das dann in weiterer Folge gezeigt wird und schalte dafür den internen Pullup am kompletten Port D ein.
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH, schon 10 mal davon gelesen aber wenn das Problem vor der Tür steht erkennt man es nicht. Klar 1-4 lässt sich sauber schalten, weil dort Taster dran hängen (mit Widerstand). Aber da durch die Software nicht nur 1-4 sondern der komplette Port 1-8 angesprochen wird, habe ich an den hinteren diese Effekte. Karl Heinz Buchegger schrieb: > welchen? > Den hier Ja genau diesen habe ich. Hatte auch schon selbst versucht einzelnen Pins anzusprechen, aber auch dabei traten merkwürdige Sachen auf. Aber das wird wohl alles die gleiche Ursache gehabt haben. Vielen Dank
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.