Gast
#2492203
Guten Abend, Ich habe in den Ferien ein etwas größeres Programm geschrieben, einen Baustein mit dem Attiny 13, auf dem verschiedene (Blink-) Programme laufen, die durch ziehen entprechender Portpins auf Masse ausgewählt werden können. PB0 ist der Ausgang für die LED, PB1 wird an einen Taster gegen GND geschlossen, INT0 als Interrupt PB3:PB4 zum Auswählen der Modi, für LowPower und Sinus wird PB1 auf GND gelegt, da diese keinen Interrupt verwenden. Als Taktquelle soll der WDT Oszillator mit 128kHz und 8 als Vorteiler verwendet werden. Nach dem Power on Reset wird zunächst der Zustand relevanter Pins in das Register "Modus" eingelesen. Nach dem Vergleich mit den einzelnen Werten, die Pinb1:4 haben müssen, springt das Programm in den jeweiligen Modus und erledigt dort entweder gleich seine Aufgabe (LowPower und Sinus)oder geht in den Power Down Modus( An/Aus, Tast, BL50100) . Die einzelnen Modi erklären sich folgendermaßen: LowPower: Blinken mit sehr kleinem Tastverhältnis,ca. 1Hz, für geringen Stromverbrauch Sinus: "Sanftes" Blinken (die Frequenz muss noch etwas angepasst werden) BL50100: Durchschalt-Modus zwischen schnellem Blinken(ca.16Hz), 50% und Dauer-An AnAus: Ein Interrupt INT0 schaltet An, der nächste Aus Tast: An, solange Pb1 low ist Ohne Vorwiderstand: Das gleiche wie BL50100 nur ohne 100%-Stufe, da LED ohne Vorwiderstand angeschlossen werden soll Und nun zum eigentlichen Problem: Das Ding tut nicht ! Nach dem Anschalten, egal bei welcher Kombination der Portpins, scheint das Teil alle Vorwiderstände zu aktivieren(LED leuchtet ganz schwach, obwohl zumindest der von PB0 im Programm wieder abgeschaltet werden sollte). Es scheint also nicht einmal bis dorthin zu laufen. AVR Studio gab beim Kompilieren keine Fehlermeldung und auch des Debuggen mit dem Simulator zeigte nichts. Nun die Frage an die "Profis": Könnte jemand mal darüber schauen? (siehe Anhang) Vielen Dank im Voraus, Leo