Hm, war mir gar nicht aufgefallen...![]()
Du kannst das Timing etwas abgleichen, indem du den $Crystal etwas änderst. Eine Zeitlang laufen lassen, die Abweichung feststellen, Dreisatz > Wert korrigieren.
Hm, war mir gar nicht aufgefallen...![]()
Du kannst das Timing etwas abgleichen, indem du den $Crystal etwas änderst. Eine Zeitlang laufen lassen, die Abweichung feststellen, Dreisatz > Wert korrigieren.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Probier's mal so:Jetzt hab ich allerdings noch das Problem der extremen
Ungenauigkeit.
Gruß DirkCode:'///////////////////////////////////////////////////////////////////////////// 'Stand: 19.01.2008 'Name: "" ' ATMEGA8- SelbstBauModul '///////////////////////////////////////////////////////////////////////////// $regfile = "m8def.dat" $crystal = 14745600 'ext. Quarz '/// DEFINITIONEN /////////////////////////////////////////////////////// ' Ausgänge Config Pinb.2 = Output ' Pin B.2 als OUTPUT => Relais+LED '/// TIMER ///////////////////////////////////////////////////////////////////// Config Timer1 = Timer , Prescale = 256 'Takt: Quarz/256 ' Bei 14Mhz Quarz => T = 2 hoch 16 x 256/ 14Mhz = 1,13 sec Periode ' 1/ 1,3 = 0,879 sec Const Startwert = 7936 On Timer1 Ontimer1 'Interrupt-Routine für Timer1-Overflow Enable Timer1 'Timer1-Overflow-Interrupt einschalten Enable Interrupts 'Interrupts global zulassen '--------------------------------------------------------- Do nop Loop End '--------------------------------------------------------- Ontimer1: 'Interrupt-Routine Timer1 = Startwert Toggle Portb.2 ' Ein=> Aus Return
P.S.: $crystal NICHT ändern, weil sich auch andere Timings damit verschieben (z.B. RS232)!
Diese sollten doch ebenfalls von der Abweichung betroffen sein und danach genauer werden, oder habe ich da bisher falsch gedacht?P.S.: $crystal NICHT ändern, weil sich auch andere Timings damit verschieben (z.B. RS232)!
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Die Abweichung, die Hans beim Toggeln eines Ports festgestellt hat, liegt nicht am Quarz! Wenn der so ungenau wäre, müßte man den Hersteller verklagen.Diese sollten doch ebenfalls von der Abweichung betroffen sein und danach genauer werden, oder habe ich da bisher falsch gedacht?
Das Problem war hier die Timer-Konfiguration.
Gruß Dirk
Hallo!
Das vom Dirk funzt irgendwie besser! Danke, ich hab's gerade probiert.
Wie bist du jetzt auf diesen Wert gekommen?
Gruß
Hans
Hallo Hans,
vielleicht hilft das:
https://www.roboternetz.de/wissen/in...scom_und_Timer
Für die Berechnung von Timer-Startwerten gibt es Tools. Falls du da was brauchst: E-Mail.
Gruß Dirk
Danke, das hilft!
Gruß
Hans
Lesezeichen