Code kann mit MPLAB für PIC mit CCS C-Compiler nicht kompiliert (erstellt) werden

Ich bin ein Neuling, der versucht, PIC zu lehnen, ich habe MPLAB und MPLAB X ide heruntergeladen. Ich habe dies ungefähr 100 Mal getan und genug über das Web geschaut, bevor ich diese Frage gestellt habe, aber mein Code ist nicht kompiliert und schlägt immer fehl. Folgendes habe ich getan: -

  1. Ein neues Projekt mit PROJECT WIZARD erstellt
  2. Habe den Code bearbeitet
  3. Kopieren Sie die Bibliothek "16F871.H" in beide Ordner (in denen ich das Projekt erstellt habe) und fügte sie den Header-Dateien in MPLAB IDE hinzu.

Hier ist mein Code

*> // IFIN.C Tests an input
#include " 16F877A.h "
void main()
{
int x; // Declare variable
output_D(0); // Clear all outputs
while(1) //
{
x = input(PIN_C0); // Get input state
if(x = = 1)output_high(PIN_D0); // Change output
}
}*

Aber beim Kompilieren des Codes bekomme ich einen Fehler bei der Ausführung:

"C:\Programme\PICC\Ccsc.exe" +FM "NEW.c" #_ DEBUG=1 +ICD +DF +LN +T +A +M +Z +Y=9 +EA # _16F877A=TRUE

* Fehler 18 "NEW.c" Zeile 2(10,23): Datei kann nicht geöffnet werden

Not in project "C:\Users\jatin\Desktop\DHAKKAN PIC\ 16F877A.h "

Not in "C:\Program Files\PICC\devices\ 16F877A.h "

Not in "C:\Program Files\PICC\drivers\ 16F877A.h "

* Fehler 128 "NEW.c" Zeile 2(10,17): Vor dieser Zeile ist ein #DEVICE erforderlich

* Fehler 12 „NEW.c“ Zeile 6(9,10): Undefinierter Bezeichner – output_D

* Fehler 12 „NEW.c“ Zeile 9(10,11): Undefinierter Bezeichner – Eingabe

* Fehler 51 "NEW.c" Zeile 10(8,9): Hier muss ein numerischer Ausdruck stehen

  5 Errors,  0 Warnings. Build Failed. Halting build on first failure as requested. BUILD FAILED: Mon Jul 08 15:09:17 2013

Ich wäre Ihnen dankbar, wenn Sie mir helfen könnten.

Antworten (1)

Das unmittelbarste Problem, das ich sehen kann, ist die folgende Codezeile:

#include " 16F877A.h "

Sie sollten die Leerzeichen entfernen, da versucht wird, eine Datei zu öffnen, die Leerzeichen enthält, weshalb Sie mehrere Fehler in Bezug auf diese Datei erhalten. Während im Allgemeinen zusätzlicher Leerraum im C / C ++ - Code für alle in Anführungszeichen eingeschlossenen Literale keine große Rolle spielt, ist dies sicherlich der Fall.

Ein weiterer Bereich, in dem Sie keine zusätzlichen Leerzeichen einfügen sollten, ist auch zwischen Operatoren, so ==dass das Leerzeichen zwischen diesen beiden Zeichen auch aus Zeile 10 entfernt werden sollte, also sollte es so aussehen:

if(x == 1) output_high(PIN_D0); // Change output