Christian schrieb:
> okay danke... das leuchtet ein... aber wie mache ich es den jetzt das er
> bis zu dem bestimmten Wert zählt dann einen Interrupt auslöst und dann
> wieder neu bei 0 beginnt und wieder bis zum Wert zählt usw....
Dazu willst du den CTC Modus des Timers benutzen.
Denn der macht genau das: Zählen bis zu einem bestimmten Wert und danach
den Timer auf 0 setzehn und wieder von vorne anfangen. Wobei du bei
Erreichen des kritischen Zählerstandes einen Output Compare Match
bekommst.
Der entsprechende Modus heißt: CTC Modus
(Datenblatt nachsehen: Abschnitt "Register Summary" welche BIts in
welche Konfigurationsregistern gesetzt werden müssen)
Damit der funktioniert, musst du deinen Vergleichswert in ein Compare
Match Register laden (welches steht wieder im Datenblatt, am einfachsten
findet man das in der Tabelle über die Modi-Übersicht des Timers heraus,
wieder im Abschnitt "Register Summary")
Und der Interrupt der ausgelöst wird ist dann ein Compare Match
Interrupt.
Den musst du daher freigeben und dafür brauchst du einen Handler.
Was du tun musst um den freizugeben, findest du wieder im Datenblatt.
Rate mal in welchem Abschnitt? Genau "Register Summary" des Timers.
Und wie der Handler heißt. Gut, die Namen folgen alle einem Schema, aber
wenn man nicht selber drauf kommt, dann kann man auch einfach im
inc-File nachsehen, welches man ja am Anfang des Codes inkludiert hat.
Denn da muss der Name irgendwo drinnen stehen. Der Suchbeggriff
"Interrupt" wird einem da nützlich sein. Und dann sucht man einfach alle
Vorkommnisse ab, bis man auf eine Aufzählung der Interrupt Handler Namen
kommt und bei der im Kommentar der entsprechende Compare Match vorkommt.