Forum: Mikrocontroller und Digitale Elektronik Timer Rücksetzen


von Hors Z. (Gast)


Lesenswert?

Hallo,

ich habe bereits überall gesucht aber nichts passendes gefunden.

Ich will im Prinzip den Timer anhalten und hinterher wieder auf den 
Startwert setzen. Habe den Timer mit Hilfe eines Online Tools 
konfiguriert.

    //Timer3 Registers Prescaler= 1 - TMR1 Preset = 8219 - Freq = 109.04 
Hz - Period = 0.009171 seconds
  T3CONbits.RD16 = 1;//Enable 16Bit
  T3CONbits.T3CCP1 = 0; //Timer1 und 2 für das CCCP Modul verwenden
  T3CONbits.T3CCP2 = 0; //Timer1 und 2 für das CCCP Modul verwenden
  T3CONbits.T3CKPS0 = 0; // Prescaler 1:1
    T3CONbits.T3CKPS1 = 0; // PRescaler 1:1
  T1CONbits.T1OSCEN = 0;   // bit 3 Timer1 Oscillator Enable Control bit 
1 = on
  T3CONbits.T3SYNC = 1;    // bit 2 Timer1 External Clock Input 
Synchronization Control bit...1 = Do not synchronize external clock 
input
  T3CONbits.TMR3CS = 0;    // bit 1 Timer1 Clock Source Select bit...0 = 
Internal clock (FOSC/4)
/T3CON.TMR3ON = 1;    // bit 0 enables timer
//Timer3 Registers Prescaler= 1 - TMR1 Preset = 8219 - Freq = 109.04 Hz 
- Period = 0.009171 seconds

  T3CONbits.RD16 = 1;//Enable 16Bit
  T3CONbits.T3CCP1 = 0; //Timer1 und 2 für das CCCP Modul verwenden
  T3CONbits.T3CCP2 = 0; //Timer1 und 2 für das CCCP Modul verwenden
  T3CONbits.T3CKPS0 = 0; // Prescaler 1:1
         T3CONbits.T3CKPS1 = 0; // PRescaler 1:1
  T1CONbits.T1OSCEN = 0;   // bit 3 Timer1 Oscillator
                                  Enable Control bit 1 = on
  T3CONbits.T3SYNC = 1;    // bit 2 Timer1 External Clock Input
                                  Synchronization Control bit...1 = Do 
not
                                  synchronize external clock input
  T3CONbits.TMR3CS = 0;    // bit 1 Timer1 Clock Source Select
                                  bit...0 = Internal clock (FOSC/4)
  //T3CON.TMR3ON = 1;    // bit 0 enables timer
  TMR3H = 32;             // preset for timer1 MSB register
  TMR3L = 27;             // preset for timer1 LSB register          // 
preset for timer1 LSB register



Wenn ich den Wert jetzt wieder auf den Startwert setzen will, muss ich 
dann im Programm: TMR3H = 32;
                  TMR3L = 27;

oder
TMR3H = 0;
TMR3L = 0;

eingeben? Oder liege ich da ganz falsch und muss völlig anders vorgehen?

Danke schonmal für eure Antworten.

von Peter D. (peda)


Lesenswert?

Wie wärs, erstmal den konkreten Chip anzugeben oder sind wir etwa 
Hellseher?

Magische Werte im Code sind schlecht für die Lesbarkeit und Wartbarkeit.
Compiler rechnen Konstanten gerne selber aus, Du mußt nur die Formel 
hinschreiben.

von Hors Z. (Gast)


Lesenswert?

PIC18F67J60

Desweiteren nutze ich MPLAB v8.89 und den C18 Compiler v3.45...

Ich dachte es wäre nicht so wichtig da ich eigentlich nur wissen muss 
wie ich den Timer rücksetze auf den Startwert? Aber gut, will euch die 
Informationen natürlich nicht vorenthalten... ist ja schließlich keine 
geheimnis.

von Cyblord -. (cyblord)


Lesenswert?

Hors Z. schrieb:

> Ich dachte es wäre nicht so wichtig da ich eigentlich nur wissen muss
> wie ich den Timer rücksetze auf den Startwert?

Und das geht bei jedem Controller auf der Welt gleich?

von Hors Z. (Gast)


Lesenswert?

Nein.

von Hors Z. (Gast)


Lesenswert?

Kann mir vielleicht trotzdem jemand helfen?

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.