Gast
#266540
Hallo Leute! Ich habe eine Theorie, welche ich in die Praxis umsetzen möchte. Jedoch möchte ich wovor ich loslege mal Eure Meinungen über mein Vorhaben hören, um eventulle Verbesserungen zu nutzen oder Fehler frühzeit zu vermeiden. Also: Ich programmiere mit C und benutze AVR Studio4 mit dem C-Compiler. Mein Ausgewählter Mikrocontroller ist ein Tiny2313von ATMEL. Mit dem Controller möchte ich vorerst 3 LED´s ansteuern. Die LED´S (LED1 und LED2) sollen ganz normal an einen Ausgang angeschlossen werden und HIGH oder LOW sein. Die LED3 möchte ich mit verschieden PWM-Werten ansteuern.Der PWM-Wert hängt von zwei Eingängen ab.Achja die PWM realisiere ich mit der vorhanden Hardware PWM (passende BITS im Passenden Register setzen und ab gehts) Eingänge: 1 0 -->100% 1 1 --> 50% sonst 0% Funktionsablauf: --> Starttaster wird gedrückt (änderung wird in einem Bit als Wert vorgegben.Stop übrigens auch) -->LED1 und LED2 gehen an. --> Eingänge werden geprüft ob PWM 50% oder 100%! --> LED3 wird mit PWM-WERT eigeschaltet. So jetzt leuchten alle drei LEDS und sollen nach ca 20. Sekunden abeschaltet werden, wenn nicht erneut START gedrückt wird, oder Stop gedrückt wurde. Habe mir überlegt, das ich die Betreibsdauer von 20 Sekunden mit Hilfe des Overflows-Interrupt des Timers realisiere. also wenn der Timer mir meine PWM herstellt zählt der Counter hoch und wenn der Wert von 255 auf 254 (bei z.B 8-Bit)wechselt....kommt dann der OverflowInterrupt?IST DAS RICHTIG???????? in dem Interrupt Würde ich dann eine Variable(Hilfsregister) hochzählen und mir ausrechnen (Taktfrequenz und so)....wiehoch die Variable gezählt werden muss bis ich 20 Sekunden ereicht habe....Ausserdem prüfe ich im Interrupt ob START oder STOP gedrückt wurden. Wenn START gedrückt wird dann Variable auf NULL wenn STOP gedrückt wird dann Variable auf ENDWERT setzen. Wenn der Interrupt so oft ausgelöst hat, das meine Variable den Vergeleichswert(ENDEWERT) erreicht hat---Dann Alles Auschalten. Kann man das so machen.............? Bin schon neugierig auf Eure MEINUNGEN!! LG Kathy