Gast
#3416838
Hallo, ich möchte im Rahmen eines Projekts bestimmte LED's für genau 0.5 Sekunden (oder länger als Ampelsteuerung) zum leuchten bringen. Realisiert wird die Steuerung durch eine Statetabelle in der ich die Verschiedenen LED's bestimmte Zeiten lang leuchten lasse. Das Grundintervall soll 0.5 Sekunden sein hier habe ich noch ein paar Probleme um die Zeit genau einzustellen mittels 2 16Bit Timer. Ich benutze hier T3 im Timer Mode und T2 im Reload Mode. Clock: 20 MHz T3: Konfiguration: Timer Mode, aufwärtszählend, prescaler von 256 T3 Wert im Register: 26473 Berechnung des Prescalers/Wert im Register: 2^(16) - (0.5s * 20MHz/256) = 26473.5 T2: Wird im Reload benutzt, dh. soweit mir bekannt ist, dass der Wert der sich im T2 befindet bei einem Overflow in T3 geschrieben wird. Daraus folgt dass der Wert gleich dem oben berechneten entsprechen muss also 26473. Mir ist bloß völlig unklar warum und wie ich den Prescaler einstellen muss. Sind meine Berechnungen und Einstellungen soweit richtig, sodass das ganze 0.5 Sekunden entspricht? Hier noch der Code falls es jemanden interessiert: http://codeviewer.org/view/code:394f