Hallo, ich habe vor ca. einem Jahr zum ersten mal Kontakt mit einem Microcomputer gehabt. Ein BFZ MFA, der durch seine 8085 CPU und die Handfeste Groesse. (19" 3HE) recht einfach zu verstehen war. Nun habe ich mir vor zwei Wochen einen MSP430 bestellt und stehe vor dem Blinklicht-code ohne wirklich zu verstehen was die einzelnen Zeilen bedeuten. Ich kann zwar C und C++ fliessen sprechen, aber so Sachen wie P1DIR und P1OUT sind mspgcc spezifisch. De facto finde ich auf der MPSGCC Seite keinerlei brauchbare Informationen fuer die MSP spezifischen defines und aus den Headerfiles werde ich nur sehr beschraenkt schlau. Gibt es irgend ein referenzwerk zum thema MSP430 programmierung in C? Onlinedokumentation waere mir am liebsten, jedoch auch ein Buchtipp wuerde mir weiterhelfen. Gruesse, Michael
Die offizielle Doku kennst du schon? Steht doch eigentlich alles wichtige drin. http://mspgcc.sourceforge.net/manual/book1.html
Ich bin zwar nicht blind aber scheinbar nah dran. Ich finde nirgendwo etwas das fuer mich wie eine Referenz aussieht. Ich steh nicht so sehr auf umschreibende Dokumentation, sondern ziehe simple API Beschriebungen vor. Vieleicht gibt es ja sowas nicht und man muss sich wirklich durch die Headerfiles durchschlagen, aber fuer den Fall, dass nicht ganz klar ist wonach ich konkret suche moechte ich eine andere API Referenz als Beispiel heranziehen. http://www.gtk.org/api/ - Die Funktionen sind uebersichtlich gelistet und mit beschriebungen versehen. So stell ich mir auch eine API Referenz fuer MSPGCC vor. Gibt es sowas fuer MSPGCC nicht, oder habe ich einfach nur an der falschen stelle nachgesehen? In der MSPGCC Dokumentation kann ich soetwas jedenfalls nicht finden.
Eine großartige "API-Referenz" ist überhaupt nicht nötig. In der Doku steht wie man Ports, Interrupts, Inline Assemler usw. verwendet, das war's schon. Referenzen zur C-Standardbibliothek (string.h, stdlib.h, math.h...) gibt es ja an jeder Ecke. P1OUT, P1DIR usw. sind für den Compiler nichts weiter als Variablen die an bestimmten Adressen liegen. Wenn du da Verständnisprobleme hast, würde ich dir dringen empfehlen erst mal mit Assembler anzufangen. Gruß Andreas
Dass es sich dabei um irgendwelche Variablen handelt, die direkt mit der Hardware in verbindung stehen ist mir auch klar. Jedoch kann ich diese Variablen in keiner der Texte der MSPGCC Dokumentation finden. Oder suche ich an der falschen Stelle und TI hat diese selbst dokumentiert? ps. Ich hatte mir auch zuerst vorgenommen mit dem MSP direkt Asembler zu schrieben, als ich dann jedoch zu lesen bekommen habe, dass der MSPGCC hervorragende Resultate liefern soll und Asembler nicht mehr wirklich notwendig ist habe ich mich dazu entschieden doch lieber lesbaren Asembler zu schreiben... C ;-) Gruesse, Michael
Schliesslich habe ich dann doch etwas gefunden. In der "MSP430x1xx Family User's Guide" findet man das Instruction Set. Wenn ich das richtig verstehe sind in MSPGCC die Assemblerbefehle bzw. Konstanten 1:1 uebernommen worden. Dass dies der Fall ist wurde leider in keinem einzigen MSPGCC Dokument erwaehn, oder ich habe es einfach ueberlesen... http://www-s.ti.com/sc/psheets/slau049c/slau049c.pdf Wenn ich das jetzt doch falsch verstanden habe und die MSPGCC header files doch teils andere Konstanten benutzten klaert mich bitte darueber auf. - Ich werde, wenn ich das alles endlich geschnallt habe eine kleines Howto fuer MSP430 Neulinge (so wie ich es im moment bin) schreiben um ihnen einen Schmerzfreien Einstieg zu ermoeglichen. Ich denke dagegen hat niemand etwas, denn die Dokumentation fuer diese Hardware ist relativ duenn gesaet. Gruesse, Michael
Üblicher Weise hat ein Microcontroller kein Operating-System, d.h. es gibt nichts, was einen API-Call ausführen könnte. Man kann höchstens eins kaufen oder lizensieren, aber das kostet richtig Mäuse. D.h. Du mußt Dir schon die Hardwarebeschreibung durcharbeiten und dann direkt auf die Hardwareregister (Portpins, Timer, UART, ADC usw.) zugreifen. Wichtig ist auch, daß Du genau die Hardwarebeschreibung des Typs nimmst, den Du später auch einsetzen willst. Die einzelnen Derivate haben nämlich unterschiedliche Features. Und es macht z.B. wenig Sinn, den Timer2 zu starten, wenn dieses Derivat gar keinen Timer2 hat. Deshalb gibt es für jedes Derivat auch das entsprechende Headerfile, wo die nur dafür zutreffenden Hardwareregister und Bits schon vordefiniert sind. Peter
Schon kapiert, mit API hatte ich eigentlich genau diese Makros fuer die portpins gemeint. Ist vieleicht uebertrieben soetwas API zu nennen, aber wenn man es genau nimmt ist auch ein Instructionset eine art API. ;-) ...oh weia, jetzt bekomm ich gleich was von den MSP cracks auf die Muetze... Ich bin jetzt jedenfalls eifrig dabei den MSP430 zu verstehen. Mir ist mitlerweile klar geworden wieso die Pins in Ports aufgeteilt sind und insgesamt habe ich endlich in der TI doku hilfe zu den Makros/Funktionen gefunden, die auch in MSPGCC eingesetzt werden. Also auf dem Weg vom Mega-Noob zum Nurnoch-Bisserl-Noob. ;-)
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.