TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cheapekt en 14 de Octubre de 2008, 12:36:14
-
HOLA! ALGUIEN ME PUEDE DECIR COMO SOLUCIONAR EL SIGUIENTE ERROR QUE ME SALE A LA HORA DE COMPILAR EL CODIGO,.... AQUI PONGO LA PARTE DE CODIGO QUE ME DA UN ERROR.
#include <16F877.h> // Se añade la libreria del PIC a utilizar
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPUT //No Power Up Timer
#FUSES PROTECT //Code protected from reads
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#use delay(clock=20000000) //Velocidad del reloj
#use rs232(baud=9600,parity=N,bits=8,stop=1,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C5,errors) //enable=PIN_C5 hace que el C maneje el pin de habilitación
#include <24512.c> // Se añade la libreria de la EEPROM 24LC512
#include <external_eeprom.c>// Se añade la libreria para controlar una EPROM externa
//Directivas para el manejo de los puertos
//#use fast_io(A)
//#use fast_io(B)
//#use fast_io(C)
//Configuramos los PINS C3 Y C4 para controlar la EEPROM
#ifndef EEPROM_SDA
#define EEPROM_SDA PIN_C4
#define EEPROM_SCL PIN_C3
#endif
//Verificaciones de definiciones de la EEPROM
#ifndef EXTERNAL_EEPROM_UTILITIES
#define EXTERNAL_EEPROM_UTILITIES
#endif
#ifndef EEPROM_ADRESS unsigned int16
#define EEPROM_ADRESS int8
#endif
//Interrupción probocada por el PC para volcar datos
#int_rda
void serial_isr()
{
EL ERROR ES EL SIGUIENTE. Y ME LO DA EN LA SENTENCIA #INT_RDA
This type cannot be qualified with this qualifier
Check the qualifiers. Be sure to look on previous lines. An example of this error is:
VOID X;
GRACIAS
-
me parece que los #defines deben ir antes d incluir la libreria donde seguamente los necesita, creo que debería ir así:
#FUSES NOWDT,HS,NOPUT,PROTECT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG
#use delay(clock=20000000) //Velocidad del reloj
//Directivas para el manejo de los puertos
//#use fast_io(A)
//#use fast_io(B)
//#use fast_io(C) //si los usas deberian estar ubicados por aca
#use rs232(baud=9600,parity=N,bits=8,stop=1,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C5,errors) //enable=PIN_C5 hace que el C maneje el pin de habilitación
//Configuramos los PINS C3 Y C4 para controlar la EEPROM
//#ifndef EEPROM_SDA //me parece que el ifndef y endif no hacen falta aca
#define EEPROM_SDA PIN_C4 // pero si estos defines deben estar antes de la libreria external_eeprom.c que usaras
#define EEPROM_SCL PIN_C3 // en una de las librerias esta la directiva #use i2c(...) esa libreria tendrá que estar escrita antes de la otra
//#endif // o quiza no importe el orden solamente hay que estar seguro que el #use i2c este bien definido en una de ellas
//Verificaciones de definiciones de la EEPROM
//#ifndef EXTERNAL_EEPROM_UTILITIES // lo mismo con los ifndef y endif
#define EXTERNAL_EEPROM_UTILITIES
//#endif
//#ifndef EEPROM_ADRESS unsigned int16
#define EEPROM_ADRESS int8
//#endif
#include <24512.c> // Se añade la libreria de la EEPROM 24LC512
#include <external_eeprom.c>// Se añade la libreria para controlar una EPROM externa
-
muchisimas gracias!!!!!!!!!!11 Cryn.. lo pruebo y te comento!!!!