Ich sehe viele Beispielcodes und Tutorials, aber wo ist dokumentiert, dass Symbole (Definitionen) wie P1OUT
und P1DIR
verfü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.
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 P1DIR
in 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 P1DIR
sind 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.
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 P1OUT
oder P1DIR
passend 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.
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.
Nekromant
Nick Alexejew
Nekromant
Nick Alexejew
Nekromant
Passant