mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F147 Clock


Autor: Peter Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich arbeite mit einem MSP430F147 mit externem 4MHz Quarz an XIN & XOUT. 
Den ACLK habe ich auf Pin20 (P2.0) ausgegeben und messe meine 4MHz 
(Divider = 1).
Dasselbe habe ich für den MCLK gemacht, messe an Pin48 (P5.4) aber nur 
etwas über 100kHz, obwohl meiner Meinung nach die Initilisierung korrekt 
ist:

*** Code ***

do
    {
    IFG1 &= ~OFIFG;                     // Clear OSCFault flag
    for (int i = 0xFF; i > 0; --i);     // Time for flag to set
    }
  while ((IFG1 & OFIFG));               // OSCFault flag still set?

  BCSCTL1 =  XT2OFF                     // Oscillator XT2 off, only XT1 
used
           + XTS                        // XT1 in high frequency mode 
(Quarz =        4MHz)
           + DIVA_0;                    // Divider ACLK = 1 (ACLK = XT1)
//  IE1 = OFIE;                           // enable osc. fault interrupt
  BCSCTL2 =  SELM_3                     // MCLK source = XT1
           + DIVM_0;                     // Divider MCLK = 1

***********

Kann mir da jemand weiterhelfen?

Gruess Peter

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter!

Du kannst wirklich an P2.0 4MHz messen ohne das OSCOFF gelöscht wird?
Ansonsten sieht der Code in Ordnung aus!
Hast Du P5.4 als Ausgang mit Zweitfunktion deklariert?

Autor: Peter Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab P5.4 folgendermassen initalisiert:

*** Code ***

P5OUT = 0x00;
P5DIR = 0xFA;
P5SEL = 0x70;

************

An P5.6 kann ich ebenfalls meine 4MHz messen....

Gruss Peter

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe sehr, dass ich mit meiner Vermutung falsch liege...
... aber mir kommt es so vor, als ob hier ein Code-Bsp von TI 
hergenommen wird, ein paar Änderungen eingebaut werden und die 
Forums-Gemeinde dann auf Fehlersuch geschickt wird...

Wie gesagt, in der Annahme, dass meine Vermutung falsch ist, hier ein 
paar Anmerkungen zu dem Problem:

1.) Du solltest mal debuggen, ob die do-while-Schleife überhaupt 
verlassen wird. Den Konstrukt "--i" habe ich so noch nie verwendet und 
weiß deshalb auch nicht, ob das funktioniert. Eigentlich nimmt man "i--"

2.) Die Prüfung des OSCFault-Flags ist eigentlich anders gedacht (s. 
auch die Beispiele von TI)
Zunächst aktiviert man nämlich XT1 (oder XT2) und wartet DANN bis 
OSCFault nicht mehr gesetzt ist. So ist sichergestellt, dass der Quarz 
oder Oszillator eingeschwungen ist. Erst dann wechselt man MCLK von DCO 
auf XT1 (XT2).

Vielleicht löst das ja Dein Problem?!

Autor: Peter Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan!

Muss dich leider enttäuschen mit deiner Vermutung, ich schicke hier 
nicht aus purer Langeweile die Forum-Gemeinde auf die Fehlersuche. Zudem 
denke ich dass jeder der sich in einem Forum aufhält dies freiwillig 
tut...aber egal

Vielen Dank für deine Anmerkungen. Meine Applikation läuft nun :-) Das 
Problem war wirklich, dass ich die Initialisierung nach der Prüfung des 
OSC Fault Flags gemacht habe, was natürlich Käse ist.

Vielen Dank!

Gruss Peter

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Muss dich leider enttäuschen mit deiner Vermutung
Ich bin nicht enttäuscht, ganz im Gegenteil!
Der Glauben an die Menschheit lebt weiter... :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.