MSP430 Timer

Gast #524150
Lesenswert?

Hi,

Ich habe mich ein wenig mit den Timern beim MSP beschäftigt und die 
grundlegende Funktionalität ist schonmal da. Jetzt wollte ich als 
nächstes den Timer nicht bis zum Maximalwert zählen lassen, sondern zum 
im TBCL0 stehenden.
Das kriege ich aber nett hin. Weiß einer wie es geht und teilt sein 
Wissen mit mir?

Gruss




void init_TimerB(long Endswert)
{
  TBCTL = TBSSEL_2 + TBCLR;              // SMCLK, clear TAR
  TBCCTL0 = CCIE;                       // CCR0 interrupt enabled
  TBCCR0 = Endwert;
  TBCTL |= MC1;                         // Start Timer_A in continuous 
mode
  _EINT();                              // interrupt enable
}
Gast #524217
Lesenswert?

1. Warum übergibst Du der Funktion einen long-Wert? Integer reicht 
völlig aus!
2. Dein Übergabeparameter heißt Endswert und in der Funktion lädst Du 
den Timer mit Endwert! Also ein "s" zuviel!
#524710
Lesenswert?

Danke Rufus, hat wunderbar funktioniert.


void init_TimerB(int Endwert)           // Endwert mit 7209 Übergeben
{
  TBCTL = TBSSEL_2 + TBCLR;             // SMCLK, clear TAR
  TBCCTL0 = CCIE;                       // CCR0 interrupt enabled
  TBCCR0 = Endwert;                     // Setzt den Endwert des Timers
  TBCTL |= MC0;                         // Start Timer_B in up mode
  _EINT();                              // interrupt enable
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren