Hallo Zusammen,
Ich habe da gerade ein Problem, bei dem ich nicht weiterkomme:
Mein µC (MSP430F2617) wird mit einem externen Oszillator (8Mhz) am XIN
betrieben. Das Clockmodul initialisiere ich folgendermaßen:
1 | // wait till oscillator runs
|
2 | BCSCTL1 |= XTS;
|
3 | BCSCTL3 |= LFXT1S1;
|
4 | _BIS_SR(OSCOFF);
|
5 | do{
|
6 | IFG1 &= ~OFIFG;
|
7 | for(counter = 0xff; counter > 0; counter --);
|
8 | }
|
9 | while((IFG1 & OFIFG) != 0);
|
10 |
|
11 | // Clock Source einstellen
|
12 | BCSCTL1 |= XTS + XT2OFF; // externen Oszillator nutzen (8MHz)
|
13 | BCSCTL2 |= SELM0 + SELM1 + DIVM0 + DIVS0 + DIVS1 + SELS; // MCLK (4MHz) + SMCLK (1 MHz)
|
Nun will ich meinen TimerB aus der SMCLK "versorgen" und testweise
hochzählen lassen:
1 | TBCTL |= TBSSEL1 + ID0 + ID1; // clock source SMCLK (1MHz)
|
2 | // divide SMCLK by 8 (125 kHz)
|
3 |
|
4 | TBCTL |= MC1; // start with continous mode
|
Wenn ich mir im Debug das TBR Zählregister ansehe, tut sich jedoch nix.
Sobald ich auf ACLK als Quelle umschalte oder den DCO anstatt des
externen Oszillators an den SMCLK usw. hänge, wird im TBR hochgezählt.
Nun hatte ich die Vermutung, dass der externe Oszillator nicht
anschwingt. Aus diesem Grund habe ich das entsprechende Flag abgefragt
(s.o.), aber es trat keine Besserung ein.
Auf dem Oszi kann ich den Ausgang des Oszillators sehen (8Mhz). Ist
einer von Reichelt: XO91 mit 8MHz.
Entweder stehe ich aufm Schlauch oder irgendwo wurde ein Hund begraben.
Danke schonmal für eure Hilfe.
Grüße
Seb