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

Soy un novato tratando de inclinar PIC, descargué MPLAB y MPLAB X ide. Hice esto unas 100 veces y revisé la web lo suficiente antes de hacer esta pregunta, pero mi código no está compilado y siempre falla. Aquí esta lo que hice:-

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

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, recibo un error al ejecutar:

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

* Error 18 "NUEVO.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 "NUEVO.c" Línea 2(10,17): Se requiere un #DISPOSITIVO antes de esta línea

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

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

* Error 51 "NUEVO.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

Te agradecería si pudieras ayudarme.

Respuestas (1)

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

#include " 16F877A.h "

Debe eliminar los espacios porque está tratando de abrir un archivo que contiene espacios, por lo que obtiene múltiples errores relacionados con ese archivo. Si bien, en general, los espacios en blanco adicionales no importan mucho en el código C / C ++ para cualquier literal entre comillas, ciertamente lo hace.

Otra área en la que no debe insertar espacios adicionales es también entre operadores, 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