Forum: Mikrocontroller und Digitale Elektronik AduC7020 Timer


von Kahn P. (Gast)


Lesenswert?

Hallo und guten Tag,

der ADuC7020  besitzt 4 Timer, ich fertige gerade eine kleine
mini APi um alle Register als Funktionen  zu abstrahieren.

Ich möchte Timer0 und Timer1 gern gleichgültig ansprechen
zb .

SetTimer(int Timer, int Counter)

Leider zählt Timer null scheinbar wild los, und löst
interrupts aus, viel schneller als erwartet.

Timer1 hingegen verähltsich bei gleicher Registerbehandlung
erwartungsgemäß.

Warum ist Timer0 scheinbar außer Kontrolle ?

Aufruf : SetTimer(1,10000000);  //interruptiert sekündlich
         SetTimer(0,10000000);  //interruptiert viel zu schnell

void SetTimer(BYTE n,DWORD micro)
{
   if(n == 1)
   {
    T1LD   = micro;
    T1CON = BIT6|BIT7;            // Enabled,Periodic,Binary and CLK/16

   }else if(n == 0)
   {
    T0LD  = micro;
    T0CON = BIT6|BIT7;            // Enabled,Periodic,Binary and CLK/16
   }
}

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
Noch kein Account? Hier anmelden.