Forum: Mikrocontroller und Digitale Elektronik erklärung über code


von solo (Gast)


Lesenswert?

Hallo people,

ich beschäftige mich gerage mit dem Datasheet eines µc, denn ich will 
damit was programmieren. aber einige Beispielcoede , die ich au dem 
Forum und google gefunden habe , sind mir noch nicht klar. deswegen 
brauche ihre Hilfe, die mir bestimmt bestimmt zuguten weg führen könnte.

1. beispiel
/*  Umwandlund alle 100µs mit Timer0 */

// timer0 configuration
  T0LD = 0x1000;  // 4096/40.96MHz = 100us
  T0CON = 0xC0;    // count down
                  // periodic mode



2.beispiel
/* allösen ein interrupt und complement an pin4 alle 50 ms */

int main (void)  {

   T1LD = 0x20000;      // Counter Value
  T1CON = 0xC4;      // Enabled,Periodic,Binary and CLK/16
     IRQ = My_IRQ_Function;    // Specify Interrupt Service Rountine
  IRQEN = GP_TIMER_BIT;    // Enable Timer1 IRQ

  GP4DAT = 0x04000000;  // P4.2 configured as an output. LED is turned 
on

  while (1)
  {
  }
}


meine Frage sind folgendes:

im 1. Beispiel e ist klar dass 4096/40.96Mhz =100µs  .   wie kommt man 
zu den wert 0x1000 der zum T0LD zugewiesen wird?


beim 2. Beispiel  hat man jtzt T1LD=0x20000 wie man auf diesen wert 
gekommen ?

welle kriterien soll man achten beim entscheiden der Prescaler?


bitte um Hilfe, ich neue im bereich und will gerne viel lernen

danke im voraus

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Was für ein Prozessor ist das?

Ansonsten allgemein erklärt:

Der Timer wird meist vom Prozessortakt gespeist. Dann ist noch ein 
Vorteiler vorhanden, der den Takt etwas lansamer machen kann.

TxLD scheint eine Art Höchstgrenze vorzugeben. Der Timer zählt dann von 
0 bis zu dieser Grenze und fängt danach wieder bei 0 an. Dabei kann auch 
ein Interrupt ausgelöst werden.

von solo (Gast)


Lesenswert?

ein Prozessor von Analog Device aduc7020

von Gaast (Gast)


Lesenswert?

1. 0x1000 ist eine Hexadezimalzahl. 0x1000 = 4096

2. 0x20000 = 131.072, 131072 * 16 / 40,960000 MHz = ca. 51,2 ms

von solo (Gast)


Lesenswert?

danke sehr an alle. das habe ich schon kapiert.

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.