Wo ist die C-API-Referenz für den MSP430? CCS-Version

Ich sehe viele Beispielcodes und Tutorials, aber wo ist dokumentiert, dass Symbole (Definitionen) wie P1OUTund P1DIRverfügbar sind und welche Semantik sie haben?

Ich sehe eine Liste mit Ein-Phrasen-Kommentaren in den Header-Dateien, aber das ist dasselbe wie das Durchsuchen des Quellcodes. Ich suche ein technisches Dokument: eine API-Referenz oder zumindest ein Programmer's Guide.

@Passerby ja, ich poste selten Cross-Posts. Ich lösche den anderen gerne, aber im Moment scheint es harmlos und könnte jemandem helfen, der in meiner Situation feststeckt.
@necromancer Ja, Crossposting ist verpönt. Begründung hier. Das Löschen der Kopie auf StackOverflow ist sinnvoll.
@NickAlexeev Danke für den Hinweis. Würde ich, aber da ist eine nette Antwort, und ich würde es vorziehen, verpönt zu sein, als die Antwort zu löschen, nicht zuletzt, um die Bemühungen des Antwortenden zu respektieren. Hoffentlich können wir eine Ausnahme tolerieren. Die Leute von SO sind beim Abschluss wirklich begeistert, und es scheint, als hätten sie es versucht, aber nicht die nötigen Stimmen erhalten. Das bedeutet, dass mehrere Leute es für in Ordnung hielten (trotz der Cross-Posting-Offenlegung, die ich dort gepostet habe). Hoffe, wir können es sein lassen oder vielleicht die Antwort hierher migrieren?
@necromancer Wenn Sie genau hinsehen, werden Sie feststellen, dass cde auf SO und Passerby auf EE.SE dieselbe Person ist. Er gab an beiden Stellen ungefähr die gleiche Antwort (obwohl die Version hier auf EE.SE besser ist). Wenn also ein SO-Thread gelöscht wird, gehen keine Informationen verloren.
@NickAlexeev danke, kein Wunder, dass sie ähnlich klangen. Ich habe versucht zu löschen, konnte es aber nicht, weil es Antworten hat. Ich habe es zur Aufmerksamkeit des Moderators markiert und eine Löschung angefordert, wobei ich erwähnte, dass die Antwort hier erfasst wurde.
Punkt ist jetzt strittig. Der SO-Thread wurde für geschlossen gestimmt.

Antworten (3)

Die Namen dieser Definitionen stimmen mit den Namen der Register überein. Die Register können im Datenblatt für Ihr MSP430-Modell oder im Familien-Benutzerhandbuch nachgeschlagen werden. Im Fall von MSP430FR5739 (1)P1OUT werden beispielsweise und P1DIRin Abschnitt 8.4 des Benutzerhandbuchs der Familie (slau272b) beschrieben .

(1) Nichts Besonderes daran. Nur der, der mir im Moment des Schreibens am nächsten steht.
(2) P1OUT und P1DIRsind nur Registernamen. Niemand nennt sie API in der [Unter-]Welt der Low-Level-Programmierung.

Finden Sie auch die Stelle, an der sie im Quellcode definiert sind. Kommentare sind möglich.

Das Datenblatt und das Familien-Benutzerhandbuch (falls vorhanden) müssen gelesen werden . Man muss sie lesen oder zumindest überfliegen. Es gibt keine Entschuldigung dafür, sie nicht zu lesen.

+1 Danke, das ist sehr nützlich zu wissen, wenn ich diese schöne neue [Unter-]Welt betrete :)

Diese werden in den Includes definiert. Für CCS ist die Standardeinstellung die von TI erstellte msp430.h, die dann versucht, die spezifische Datei für Ihr Zielgerät durch if-Definitionen einzuschließen. Diese Datei (dh msp4430g2553.h) enthält die spezifischen Referenzen wie P1OUToder P1DIRpassend zu der spezifischen Registeradresse, wie im Datenblatt und im Familienhandbuch Ihres Zielgeräts definiert. Zum größten Teil sollten die Namen mit dem Family Guide übereinstimmen und zwischen den Geräten sehr konsistent sein.

Aus dem CCS-Benutzerhandbuch:

Verwenden Sie .h-Dateien, um die Codeentwicklung zu vereinfachen.

CCS wird mit Dateien für jedes Gerät geliefert, die die Geräteregister und die Bitnamen definieren. Die Verwendung dieser Dateien wird empfohlen und kann die Aufgabe der Programmentwicklung erheblich vereinfachen. Um die dem Zielgerät entsprechende .h-Datei einzuschließen, fügen Sie die Zeile #include für C
und .cdecls C,LIST,"msp430xyyy" für Assemblercode hinzu, wobei xyyy die MSP430-Teilenummer angibt.

Hier ist eine Online-Kopie der msp430g2553.h von CCS. Sehr gut kommentiert und leicht zu lesen.

IAR enthält neben den msp430.h-Versionen auch io430.h, das von IAR erstellt wurde und einige Unterschiede oder zusätzliche Funktionen aufweist. Es funktioniert auch auf die gleiche Weise, den Header des spezifischen Zielgeräts einzuschließen.

Nochmals vielen Dank @Passerby der Auszug aus dem CCS-Benutzerhandbuch ist insb. maßgeblich
nach langem Überlegen, da beide Antworten ziemlich ähnlich sind, die ältere Antwort als die richtige auszuwählen. schwierige Wahl zwischen dieser großartigen Antwort und der anderen. Ich bin froh, dass ich die SO-Frage nicht löschen konnte, da ich Ihre Antwort dort akzeptiert habe. Danke nochmal!

Ja, eine API existiert. Sie werden als Treiberlib bezeichnet. Laden Sie Code Composer Studio herunter, installieren Sie dann MSP430ware, und Sie können sich die Details der Treiberbibliothek ansehen.