Quarz MCLK Msp430

Gast #1260712
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*************************/
#1260742
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.
#1261436
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.

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