No se puede compilar (compilar) el código con MPLAB para PIC con el compilador CCS C

2

Soy un novato que intenta aprender PIC, descargué MPLAB y MPLAB X ide. He hecho esto alrededor de 100 veces y he mirado la web lo suficiente antes de hacer esta pregunta, pero mi código no está compilado y siempre falla. Esto es lo que hice: -

  1. Creó un nuevo proyecto usando WIZARD DEL PROYECTO
  2. Editado el código
  3. Copió la biblioteca "16F871.H" en ambas carpetas (creé el proyecto) y la agregue a los archivos de encabezado en el IDE de MPLAB.

Aquí está mi código

*> // 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
}
}*
  

Pero al compilar el código me aparece un error al ejecutar:

     

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

     

* Error 18 "NEW.c" Línea 2 (10,23): No se puede abrir el archivo

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 "
     

* Error 128 "NEW.c" Línea 2 (10,17): se requiere un #DEVICE antes de esta línea

     

* Error 12 "NEW.c" Línea 6 (9,10): Identificador indefinido - output_D

     

* Error 12 "NEW.c" Línea 9 (10,11): Identificador indefinido - entrada

     

* Error 51 "NEW.c" Línea 10 (8,9): Aquí debe aparecer una expresión numérica

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

Le agradecería que me ayudara.

    
pregunta user75736

1 respuesta

4

El problema más inmediato que puedo ver es la siguiente línea de código:

#include " 16F877A.h "

Debes eliminar los espacios porque está intentando abrir un archivo que contiene espacios, por lo que recibes varios errores relacionados con ese archivo. Si bien, en general, el espacio en blanco adicional no importa mucho en el código C / C ++ para los literales incluidos entre comillas, ciertamente lo hace.

Otra área en la que no debe insertar espacios adicionales es también entre operadores como == , por lo que el espacio entre esos dos caracteres también debe eliminarse de la línea 10 para que se vea así:

if(x == 1) output_high(PIN_D0); // Change output
    
respondido por el PeterJ

Lea otras preguntas en las etiquetas