Hallo... Gibt es eine Möglichkeit meine 16 Bit große "Verzögerung" in einen 8Bit Timer/Counter zu laden? Mittels Z-Pointer oder so? Da ich meinen 16Bit Counter schon für andere Aufgaben verwende und ich nun nur noch einen mit 8Bit zur Verfügung habe wäre das sehr interessant zu wissen.... Danke Alex
Hallo Alex Lass doch mit dem 8 Bit Timer eine Variable hochzählen. Die brauchst du doch dann doch nur noch abzufragen, ob es schon so weit ist. MFG Dieter
Hallo Alex, Du kannst den 8-Bit-Timer nicht zu einem 16-Bit-Timer umfunktionieren. Wenn das ginge, hätten es die Marketing-Strategen von ATMEL sicherlich schon ganz fett vorne auf's Datenblatt gedruckt. ;-) Aber der Vorschlag von Dieter ist eine gute Möglichkeit, Dein Ziel zu erreichen. Gruß, Frank
Hallo... Runterzählen ist auch nicht schlecht, dann kann die Timer0-OVF-ISR gleich die Schalthandlung ausführen... Bei 16-Bit-Zählvariablen lohnt sich auch Hochzählen bis zum Überlauf, da ist die Bedingungsabfrage einfacher... Bit- & Bytebruch... - ...HanneS...
16 Bit große "Verzögerung" ? finde ich etwas ungenau. Mit 8 Bit Vorteiler ( gibt es z.B. beim AVR) kann ein 8 Bit counter solange Zählen wie ein 16 Bit counter ohne Vorteiler (aber nicht so genau). Ich weis aber nicht ob du das meinst. Gruß Bernhard
Hallo Bernhard... Nein, das meinte ich nicht... Ich meinte, dass Timer0 per Interrupt ein "Zeitnormal" liefert, das für mehrere Dinge genutzt werden kann, da die ISR auch mehrere Variablen hoch- oder runterzählen kann. So lasse ich z.B. bei einer sechsfach-PWM den PWM-Treppenzähler (ein Register) in der Timer0-ISR hochzählen und mit den Tempowerten aller Kanäle vergleichen und bei Gleichheit den betreffenden Port ausschalten. In einer anderen Anwendung (Modellbau-Fernsteuer-Encoder mit 4433) erzeugt Timer0 ein 0,01ms Zeitnormal, mit dem ich die Sendertastimpulsbreite, den Impulsabstand (Kanalimpulsbreite), aber auch die 20ms-Impulspause steuere, was einen 16-Bit Zähler erfordert. Timer1 möchte ich vorerst frei halten, wenn ich etwas sattelfest bin (auch ich bin MC-Neuling) möchte ich Experimente mit Soundausgabe via Timer1-PWM machen (nur Geräusche, kein Multimedia). In der Schaltung eines Fernsteuer-Schaltdecoders mit 1200 werden für 10 Schaltausgänge Ausschaltverzögerungen gebraucht. Also lasse ich in Timer0-ISR neben dem Zähler für die Impulsbreitenmessung noch 10 untere Register runterzählen und bei 0 den Ausgang ausschalten. So in etwa meinte ich das... Mit besten Grüßen, Bit- & Bytebruch... - ...HanneS...
10 Leute betreten zu verschiedenen Zeiten einen Raum und sollen ihn zu bestimmten anderen Zeiten wieder verlassen. Jetzt könnte man 10 Stopuhren verteilen, eine für jeden, man hat aber nicht soviele. Lösung: Man hängt nur eine einzige Uhr im Raum auf, die jeder sehen kann. Und jeder merkt sich die Zeit, wann er gekommen ist und addiert die Zeit dazu, die er im Raum bleiben soll. Deshalb reicht auch bei einem MC ein einziger Timer aus, um beliebig viele Zeitverzögerungen zu realisieren. Peter
Stimmt... Danke, Peter... Manchmal denkt man eben um die Ecke, besonders als Anfänger... Bit- & Bytebruch... - ...HanneS...
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.