TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: dsmm en 27 de Abril de 2007, 12:37:30
-
Hola, el CCS no me deja compilar un fichero con un #include, qué ficheros debo incluir y cómo los debo estructurar para que compile? Incluyo el .h o el .c en el main? incluyo el .h en el .c?
He probado todas las combinaciones existentes y aun así me sigue dando el error.
Ahora mismo tengo:
MAIN.C:
#include <18f4550.h>
#include <stdio.h>
#include "spi_sw.h"
void main()
{...}
SPI_SW.H (las cabeceras)
void write_adc_byte(int data);
long int read_adc_16bit_word();
int read_adc_8bit_word();
void adc_reset(void);
SPI_SW.C (la implementación de las funciones)
#include "spi_sw.h"
void adc_reset(void)
{...}
void write_adc_byte(int data)
{...}
...
El código está bien escrito porque si lo compilo con todas las funciones en el main.c sí funciona.
Gracias por la ayuda.
-
En la ayuda del CCS pone que en el main.c hay que incluir los archivos .c en lugar de los .h (normalmente se incluyen los .h no?)
He visto mil ejemplos sobre cómo estructurar las cabeceras, qué incluir en qué, y aun así que da un error absurdo y que no tiene sentido (estoy seguro de que el código está bien, porque si lo escribo todo en el main.c sí que funciona).
Que alguien me eche una mano por favor, voy a quemar el ordenador.
-
Que error te da especificamente...
mira a ver si el problema es que tienes dos includes al mismo archivo spi_w.h.
Y por favor cuida el lenguaje al menos en el titulo hombre...
-
Pone "Expecting a basic type", y me señala como error la declaración de una función que está bien hecha y funciona bien, vamos que estoy seguro que no es del código sino de los includes y tal.
-
dsmm revisas bien unas lineas antes y unas lineas después de donde te sale el error, normalmente estos errores de debe a sintaxis.
-
Normalmente me saca ese error cuando se me olvida colocar un "punto y coma" (;) despues de declarar una variable que estaba antes del include.
-
espero que lo que voy a decir no sea muy obvio... :oops:
en el compilador, en el menu desplegable "options>include dirs" estan los directorios en los que se buscaran los include que se escriban entre <...>, a estos no hay que especificarle el path completo, solo el archivo y la extension
si se quiere hacer un include de un archivo que esta en otro directorio hay que poner el path completo hacia el archivo, y el path tiene que estar entre comillas dobles "..." y no entre <...> como los otros include...
salu2 ;-)
-
si Marttyn, si llamas a otro archivo que está en un path anunciado, usas <..>. si ese archivo está en el mismo directorio del .c, usas "..."
dsmm busca en la ayuda del CCS, que trae una lista de todos los errores con sus descripciones.
-
aps... por no sabia eso yo... :oops:
lo probare...
de todos modos puedes intentar poner el path completo hacia tu archivo... por intentarlo no perdemos nada :mrgreen:
salu2