So fügen Sie eine Header-Datei für PIC24F08KL401 in MPLAB auf einem MAC hinzu

Wie kann ich Header-Datei für PIC24F08KL401 in MPLAB X IDE auf MAC hinzufügen?

Ich habe einige Tutorials gefunden, wie \ wo diese Dateien ('PIC24F08KL401.h') zum Beispiel unter Windows zu finden sind, aber keine darüber, wie man es unter MAC OS macht.

funktioniert "#include <PIC24F08KL401.h>" bei Ihnen nicht? Dies sollte der Fall sein, wenn Ihr XC16-Compiler korrekt installiert wurde. Obwohl Sie nicht einmal so spezifisch sein sollten. "#include <pic.h>" sollte funktionieren, wenn Ihr Projekt korrekt eingerichtet ist, da dies die Projekteinstellungen verwendet, um die entsprechende Prozessordatei auszuwählen.
Es passiert nicht, wenn ich zum Beispiel den Befehl halte und versuche, darauf zu klicken, um zur eigentlichen Datei zu navigieren, passiert nichts, als wäre die Datei nicht richtig verknüpft. Aber für einige andere Header-Dateien, die automatisch hinzugefügt werden, kann ich das tun, zum Beispiel für#include <xc.h>
Oh, ich wusste nicht, dass ich das mit gerade #include <pic.h>noch PIC-Neuling machen kann :) danke für den Tipp, das werde ich versuchen.
Ich habe XC16 nicht auf dem von mir verwendeten PC installiert, daher weiß ich nicht, ob die Datei "PIC24F08KL401.h", die Sie zu öffnen versuchen, überhaupt existiert. Es ist möglich, dass Sie zu spezifisch sind - das ist nicht unbedingt eine individuelle Datei für jede einzelne Variante jedes PIC.
Ich habe es mit einem allgemeineren PIC wie PIC16F877A versucht und hatte das gleiche Problem, also bin ich mir nicht sicher, vielleicht würde es ausreichen, wenn ich nur PIC.h verwende.
Tipp: Gehen Sie zu Fenster -> PIC-Speicheransichten -> Konfigurationsbits. Es öffnet sich ein Panel mit allen Fuses für den PIC, stellen Sie diese passend für Ihr Board ein (zB OSC, Watchdog, etc.). Klicken Sie dann auf Code generieren. Es wird Boiler-Code mit allen Sicherungen für den gegebenen PIC generieren und xc.h enthalten.
Das habe ich getan, und so bekomme ich xc.h eingebunden, aber ich wusste nicht, dass ich meine pic-Header-Datei nicht explizit einbinden muss.
Ich glaube, das ist ein ziemlich neues "Feature". ;)

Antworten (1)

Wenn Sie die XC16-Compiler-Familie verwenden, brauchen Sie nur:

#include <xc.h>

... denn darin gibt es nichts weiter als viele #ifdefs für jeden möglichen Teil!

/*
 *  xc.h 
 *
 *  Generic include file for XC16
 *
 *  Copyright 2012 Microchip Technology
 */

#if defined(__PIC24EP128GP202__)
#include <p24EP128GP202.h>
#endif

#if defined(__PIC24EP128GP204__)
#include <p24EP128GP204.h>
#endif

#if defined(__PIC24EP128GP206__)
#include <p24EP128GP206.h>
#endif

#if defined(__PIC24EP128MC202__)
#include <p24EP128MC202.h>
#endif

#if defined(__PIC24EP128MC204__)
#include <p24EP128MC204.h>
#endif

#if defined(__PIC24EP128MC206__)
#include <p24EP128MC206.h>
#endif

#if defined(__PIC24EP256GP202__)
#include <p24EP256GP202.h>
#endif

#if defined(__PIC24EP256GP204__)
#include <p24EP256GP204.h>
#endif

#if defined(__PIC24EP256GP206__)
#include <p24EP256GP206.h>
#endif

/* ...etc etc and so on */

Dies setzt natürlich ein richtig eingerichtetes Projekt innerhalb von MPLABX und einen richtig eingerichteten Compiler voraus.

Das Projekt-Setup kümmert sich um die Definition der geeigneten __PIC24xxxxxxxxx__-Definition für das Zielteil.

Unter Windows befinden sich die gerätespezifischen .h-Dateien darin

\vX.XX\support\family\h

wobei vX.XX die Compilerversion und Familie die Teilefamilie ist (PIC24E, PIC24F, PIC24H, DSPIC30F, DSPIC33E, DSPIC33F).

In jedem dieser Unterordner befindet sich eine familiengenerische Header-Datei: zum Beispiel

\v1.26\support\dsPIC33E\h\p33Exxxx.h

was, ähnlich wie xc.h, nichts anderes ist als #ifdefs und #includes - natürlich nur für diese bestimmte Familie.

Sie sollten die Antwort nicht so schnell akzeptieren. Es gilt als gute Praxis, etwa 24 Stunden zu warten, um die Diskussion anzuregen und zu sehen, ob weitere Antworten kommen.
Ok, wie Sie vorgeschlagen haben, werde ich abwarten, ob es einen Kommentar gibt, wie man diese Dateien auf dem MAC findet. :)