Hallo,
ich bin neu in der atmel programierung. Wäre es möglich, wenn jemand
über mein code schauen könnte? irgendwie sind alle leds an, obwohl diese
aus sein sollen.
Weiss jemand wieso? Die LEDs sollen erst angehen, wenn ich Pin0
drücken.. dann sollen die LEDs solange anbleiben, bis Pin7 einmal
gedrückt wird.
Sieht jemand meinen Fehler?
Schaltplan?
Die LEDs müssen bei diesem Code active-low geschaltet sein. Die Taster
an PD0 sind ebenfalls active-low (siehe IO in AVR-GCC-Tutorial)
geschaltet. Deshalb sind Pull-up Widerstände erforderlich, um im
losgelassenen Zustand ein sicheres HIGH zu haben. Die internen Pullups
hast du nicht aktiviert, deshalb die Frage oben nach dem Schaltplan...
Du hast zwar PortD als Eingang definiert, aber nicht die internen
Pullups eingeschaltet:
Also noch ein 0xFF in PortD schreiben.
Allerdings ist selbst dann das Ganze noch vom Prellen der Taster
abhängig.
welches Testprogramm =?
Ausgngssituation: alle LEDs an !!!
wenn ich den Taster drücke, wo alle LEDs ausgehen sollen, geht das auch.
nach loslassen des Testers gehen die LEDs auch wieder an.
sobald man aber den Taster drückt, der die LEDs einschalten soll(geht ja
nicht weil die LEDs schon an sind) werden die LEDs nur etwas heller...
Verbindung(Flachkabel etc.) kanns ja niht sein.
Du musst
sbis PIND,7
eingeben
es soll skippen wenn PIND7 gesetzt ist, was er ja im Ruhezustand ist.
Das gleiche mit PIND0 machen.
Dann sollte es gehen.
Problem. Er macht die LED an und gleich wieder aus. Das die ganze Zeit
-> leichtes leuchten.
geh auf atmel.com und hol dir das Datenblatt deines Controllers
Da sollte auf den letzten Seiten alle Assembler befehle aufgelistet
sein.
Viel Spass noch
Andreas