So, nun habe ich ja das Problem mit den Fuses am ATmega16 endlich hinter mir. Mein Vater hat mir einen AVR ISP mk II geschenkt, damit kann ich dann auch richtig die Mega flashen und fusen. Nun stehe ich auf dem Schlauch mit den Timern. Wenn ich einen Timer haben will, der mir Mikrosekunden liefert und mein ATmega16 ist auf 1 MHz intern RC Oszillator gefused. Kriege ich dann 1 Mikrosekundenimpulse wenn ich bei dem Timer den Prescaler auf 1 (Kein Prescaler) setze? Oder kriege ich alle 255 Mikrosekunden beim 8 Bit Timer bzw. alle 65355 Mikrosekunden einen Timer Overflow Interrupt ? Irgendwie tue ich mich da schwer, weil ich die Impulse am Heckservo eines R/C Heli meines Vaters messen will, das mit 768 µs seinen Mittenimpuls bekommt. (Ein Futaba S9256). Das ich mit volatile arbeiten muß ist schon klar. Aber wie ich das mit dem Timer machen soll, weiß ich noch nicht. Evtl. kann ich ja den Timerwert abfragen. Aber dafür finde ich nun kein so richtiges Code-Beispiel weil alle mit MyAVR Boards und 3,6864 MHz arbeiten oder irgendwie einen Baudratenquarz drinhaben und deshalb im Programm mit Werten arbeiten, die ich nicht so ganz nachvollziehen kann ... Ich fange halt eben erst an mit Timern. Helft mir da mal bitte ein wenig mit Hinweisen. Google hat schon mehr für Verwirrung gesorgt mit den vielen Timer Programmen. Gruß Johannes
>Kriege ich dann 1 Mikrosekundenimpulse wenn ich bei dem Timer den >Prescaler auf 1 (Kein Prescaler) setze? Der Prescaler ist nicht allein dafür zuständig. Interrupts erhälst Du bei Overflow oder bei übereinstimmung von Timer- und OCR-Wert. >Oder kriege ich alle 255 Mikrosekunden beim 8 Bit Timer bzw. alle 65355 >Mikrosekunden einen Timer Overflow Interrupt ? Wieso "oder"? Der erste Satz erwähnt den Overflow-Interrupt überhaupt nicht. Daher ist der zweite Satz, der dies tut kein Gegensatz dazu; bzw. nur in bestimmten Fällen. Lies mal das Datenblatt zu den Timern und den Artikel hier im Wiki. Bin jetzt zu faul den herauszusuchen.
Für so eine Messung würde sich vielleicht auch die Timer 1 Capture Funktion anbieten
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.