Con estas dos directivas se me fueron todos los unable to resolve identifiers
#define __18CXX // con esta solucioné los de la libreria de los delays
#define __18F4550 // y con esta los de las funciones de la usart y de los adc
Pareciera que el IDE no define correctamente el pic seleccionado en el proyecto.
agregúe al principio de mi archivo main.c estos dos defines
Creo que el problema está en que si no se los define a mano el preprocesador no expande el código correspondiente a nuestro pic dentro del archivo pconfig.h:
#ifdef __18F4550
/*############################################################*/
/* Configuration for device = 'PIC18F4550' */
/*############################################################*/
/* ADC */
#define ADC_V5
/* ECC */
/*No configuration chosen for this peripheral*/
/* CC */
#define CC_V2
/* EPWM */
#define PWM_V5
/* PWM */
#define PWM_V5
/* PCPWM */
/*No configuration chosen for this peripheral*/
/* USART */
#define EAUSART_V5
/* SPI */
#define SPI_V1
/* I2C */
#define I2C_V1
/* TIMERS */
#define TMR_V2
/* EEPROM */
#define EEP_V2
/* PORT_B */
#define PTB_V1
/* ANCOMP */
#define ANCOM_V3
/* MWIRE */
#define MWIRE_V1
/* CTMU */
/*No configuration chosen for this peripheral*/
/* PPS */
/*No configuration chosen for this peripheral*/
/* RTCC */
/*No configuration chosen for this peripheral*/
/* DPSLP */
/*No configuration chosen for this peripheral*/
/* PMP */
/*No configuration chosen for this peripheral*/
/* FLASH */
#define FLASH_V1_2
#endif
Y por ello dentro de los headers de los periféricos se saltean los prototipos de las funciones.
Es necesario que estén definidas las versiones de cada uno de ellos por ejemplo en mi 4550 #define ADC_V5 . De lo contrario se saltean los prototipos de las funciones.
Como por ejemplo la de OpenADC en el header adc.h
#elif defined (ADC_V3) || defined (ADC_V4) || defined (ADC_V5) || defined (ADC_V6) ||\
defined (ADC_V7) || defined (ADC_V7_1)|| defined (ADC_V12) || defined (ADC_V13)\
|| defined (ADC_V13_1) || defined (ADC_V13_2) || defined (ADC_V13_3) || \
defined (ADC_V14) || defined (ADC_V14_1) || defined (ADC_V14_2) || defined (ADC_V14_3)
void OpenADC ( unsigned char ,
unsigned char ,
unsigned char );