Forum: Mikrocontroller und Digitale Elektronik Quarz MCLK Msp430


von MSP-Tester (Gast)


Lesenswert?

Warum messe ich bei folgender init am MCLK-pin nur die DCO-Frequenz von 
800kHz.
Ich habe von 3,686MHz....8MHz getestet.
Versorgungsapannung ist 3.0 Volt.
Da 8 MHz scheinbar 3,6 Volt brauchen, müsste es doch eigentlich mit 
3,686MHz laufen???
Das Programm danach läuft prima, aber zu langsam!!!


  P5DIR =0xff;
  P5SEL =0xff;
  /************HF-Quarz initialisierung-Beginn***********************/
  BCSCTL2 = 0x88;                 // MCLK= SMCLK= XT2
  BCSCTL1 &= ~XT2OFF;                       // XT2on
  do
  {
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
  }
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?
  /************HF-Quarz initialisierung-Ende*************************/

von Christian R. (supachris)


Lesenswert?

Wieso schaltest du erst auf den Quarztakt um, startest dann aber erst 
den Oszillator? Steht das etwa so in den Code-Beispielen bei TI?
1
  BCSCTL1 &= ~XT2OFF;                       // XT2on
2
3
  do
4
  {
5
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
6
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
7
  }
8
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?
9
10
  BCSCTL2 |= SELM_2 + SELS;                 // MCLK= SMCLK= XT2 (safe)

So klappts, wenn i volatile ist.

von MSP-Tester (Gast)


Lesenswert?

Genau das hatte ich vorher versucht, ging aber nicht. Ich arbeite mit 
dem MSP430f169. (Ich habe auch noch einen 32kHz-Quarz an XIN/XOUT)

von Christian R. (supachris)


Lesenswert?

Der Code funktioniert definitiv mit einem Quarz an XT2 und den 
entsprechenden Lastkondensatoren dran. Der Uhrenquarz an XT1 ist immer 
aktiviert und per default passend eingestellt. Der wird automatisch 
gestartet und speist den ACLK, wenn man nix umstellt. Für den XT2 im 
HF-Mode funktioniert obiger Code definitiv, wenn die Hardware stimmt.

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.