-
-
Erfahrener Benutzer
Robotik Einstein
klar ist das mit den Zeiten von Quarz abhängig.
Schau, irgendwo habe ich den Prescaller auf 1024 eingestellt,
Suche jetzt im Dattenblatt nach dem Register TCCR0 und schaue Dir mal an was man damit anstellen kann.
Prescaller 1024 heißt, daß der haupttakt(also der Takt vom Quartz) 1024 mal hmm, ich sagmal auftretten muß, bevor mein Timer um eins erhöht wird.
Die zweite einstellsache ist der Wert des Taimers ich habe hier 255-254 also lade ich Ihn mit 1.
alle 1024 Takte wird er um eins erhöht, bis er bei 255 ankommt, und wenn er dann noch einmal +1 macht, dann läuft er über, weil 1 Byte höchstens 255 beinhalten kann 11111111
Dann Macht er erst den Interrupt.
Jetzt mußt Du rechenen mein quartz ist 10 Mhz / 1024 / 254 ergibt etwa 38,5 Hz also 26 mS
Mehrere Interrupts, ja es gibt beim Mega8 14 glaube ich aus dem Kopf.
wenn 2 gleichzeitig auftreten, was eine Glücksache ist aber nicht unmöglich gewinnt derjenige der höher in der liste steht, schaue m8def.inc
ganz unten stehen sie alle der erste ist der wichtigste, und dann geht es ab nach unten.
Dann hat der, der tiefer in der Liste steht verloren und geht leer aus
Gruß Sebastian
Nachtrag; ich habe 19 Interrupts gezählt, mei Kopf ist doch nicht mehr der beste....
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen