Forum: Compiler & IDEs MSP430F2012 Takt Frequenz einstellen / Timer Interrupt verwenden


von Sebastian R. (sepp1985)


Lesenswert?

Hallo zusammen,

ich habe gerade ein Projekt wo ich von meiner bekannten AVR Spielwiese 
in die TI Welt abtauchen muss.

Von AVR ist man ein wenig verwöhnt wie ich mittlerweile feststellen 
muss.
Leider passen in dem Programm die Aufrufe des Timer Interrupts gar 
nicht.
Normalerweise sollte der Mikrocontroller hier mit 1MHz arbeiten.
Irgendwie sind die Interrupt Aufrufe doppelt so viele wie erwartet.
Ich vermute
a) die Taktfrequenz ist höher als erwartete
b) der Timer Interrupt ist falsch konfiguriert

Erwartet habe ich:
TACCR0 = 0,1s * 1.000.000Hz / 8
TACCR0 = 12500-1
Mit dem TACCR0 erwarte ich eigentlich, dass man ca. 0,1s Aufrufe des 
Timer Interrupts erzeugt.

1
  TACCR0 = 14318;                  // 14318 = ca. 1/10 sec
2
  TACCTL0 |= CCIE;                          
3
  TACTL = TASSEL_2 | MC_1 | ID_3;   // TACLK = SMCLK (1.05MHz), Up mode, Div /8
4
  __enable_interrupt();                    
5
6
  _BIS_SR(LPM0_bits + GIE);

Viele Dank im Voraus
Sebastian

von Cartman (Gast)


Lesenswert?

Der 2012 hat im INFO_A eine Konstante fuer den DCO fuer 1 MHz.
Liest du die ueberhaupt?

von Sebastian R. (sepp1985)


Lesenswert?

Hi Cartman,

nein ich lese nicht die Konstante aus. Ich bin davon ausgegangen,weil es 
im Handbuch steht, dass im LPM0 die Frequenz SMCLK = f DCO = 1 MHz ist.

Viele Grüße
Sebastian

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.