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
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?
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
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?!
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
>Muss dich leider enttäuschen mit deiner Vermutung
Ich bin nicht enttäuscht, ganz im Gegenteil!
Der Glauben an die Menschheit lebt weiter... :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.