Ich habe folgendes Problem. Habe ein Progamm erhalten das ich ich zum laufen bringen soll, ohne große Änderungen daran vorzunehmen. So wie es aussieht ist das Oszllator Fault Flag immer gesetzt. Über einen Clear Befehl lässt es sich nicht zuücksetzen. Anzumerken ist noch das das Program auf einem MSP4392619 laufen soll und nur die interne Taktquelle zu beutzen sei. Also keine externer Quarz. Muss die Taktquelle expliziet ausgewählt werden? Das Thema Taktquelle ist allerdings absolutes Neuland für mich und aus dem Handbuch bin ich leider auch nicht wesentlich schlauer geworden.
Klar, wenn kein externer Quarz dran ist, ist das OSC-Fault Flag gestezt. Wenn du nur den internen DCO nehmen willst, musst du nur die Frequenz passend einstellen, per default ist der ah immer als Taktquelle drin. Du solltest wirklich langsam mal anfangen, den User Guide zu lesen und die Beispielprogramme bei TI anzuschauen und zu verstehen. Hier steht doch in mehreren Beispielen, wie der DCO/FLL+ zu benutzen ist: http://focus.ti.com/lit/sw/slac151b/slac151b.zip
Hm...Ok.. das bedeutet aus der Schleife komme ich nicht raus.
1 | while ((IFG1 & OFIFG) != 0); // OSCFault flag still set? |
2 | BCSCTL2 |= SELM1; |
Ohne externen Quarz nicht. Ich denke, du willst den internen DCO benutzen? Wieso nimmst du dann ein völlig aus dem Zusammenhang gerissenes Stück Quellcode für den Quarzoszillator?
Mit ist nicht ganz klar wie das mit den ganzen Taktquellen läuft, da werde ich auch nicht aus dem Handbuch schlauer. So wie ich das verstanden habe gibt es ACLK ,SMCLK ,MCLK usw aber das sind doch nur Module oder? DCOCLK ist der interne Taktgenerator, der immer aktiv ist sofern kein externer angeschlossen ist. Aber wo und wie stell ich ein welcher Modus genutzt werden soll. Hab spaßeshalber einmal vesucht das Timerprogram von gestern via ACLK zu takten und es geht nicht. Der Timer zählt nur einmal hoch, also bis 0x01. Daraus schließe ich das nur ein Taktsignal ankommt.
Kann ich denn überhaupt alle Taktmodule nutzen wenn ich mich nur auf den internen Clock beziehe?
Das sind keine Module, sondern einfach ausgedrückt nur Leitungen, die einen Takt führen können. Die CPU läuft mit dem MCLK, die Peripheriemodule meistens wählbar zwischen SMCLK und ACLK. Sinn dahinter ist, immer den stromsparendsten takt zu haben. Die Taktquellen (DCO, XT1, XT2...) sind extra Module. Jetzt kann man in den Basic Clock Registern festlegen, welche Taktleitung aus welchem Taktmodul versorgt werden soll. In der Standard-Konfig läuft der MCLK und der SMCLK mit dem DCO. Der ACLK ist am XT1, wenn da kein Quarz ist, ist da kein Takt. Ich hab immer noch nicht verstanden, was du eigentlich vorhast? Willst du ein fertiges Programm, welches des externen Quarz benutzt, so umbauen, dass es mit dem DCO funktioniert? Oder wie? Gleich auf der 1. Seite des Kapitels 5.1 im User Guide ist doch super verständlich erklärt, wie welche Takte verschaltet werden können. Seite 287.
Ja die Basic Clock Module sind im Handbuch ganz gut erkläter. Bin nur nicht gleich durchgestiegen was genau der ACLK macht. Ist jetzt aber klar. Mir war nicht klar das das zwar ein "internes" Signal ist aber von XT1 gesteuert wird. Da ja kein Quarz angeschlossen ist hat ACLK auch keinerlei Funktion. Habe ein fertiges Program erhalten, das mit externer Taktversorgung läuft und soll es auf meinem MSP zum laufen bringen. Da ich allerdings auf die interne Taktversorgung angewiesen bin muss ich einiges ändern.
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.