Pues resulta que le mande un correo al autor del proyecto, y me ha contestado diciendo que haga los siguientes cambios:
This error message is due to the compiler version you use. Probably, you are using the most recent version of the compiler (student version)
which uses a slightly different format for the "attribute" parameters than my version. You can solve the problem by removing the ".ydata"
keyword from the definition of the fractcomplex inputSignal[NUMSAMP] variable in ADC.c and Audio Spectrum.c files.
You can also include the auto_psv statement in the _ADCInterrupt() definition as follows (in order to avoid the warning message):
void __attribute__((__interrupt__,auto_psv )) _ADCInterrupt(void)
Y este cambio lo hice yo, en el ADC.c:
volatile extern unsigned int SamplesReadyFlag;
Sigue sin compilar, pero si se elimina de la cabecera el #include "ADC.c" del programa principal, si compila. Entonces seria cuestion de diseñar la funcion que captura los datos, o tratar de resolver los errores.
Estos son los errores que aparecen:
Executing: "D:\Archivos de programa\microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=30F6012A "ADC.o" "Audio Spectrum.o" -o"AudioSpectrum.cof" -Wl,-L"C:\Program Files\Microchip\MPLAB C30\lib",--script="linkerscript.gld",--defsym=__MPLAB_BUILD=1,-Map="AudioSpectrum.map",--report-mem
Audio Spectrum.o(.text+0x0): In function `ADC_Init':
E:\juanjo\Code #MT1750\Audio Spectrum.c:45: multiple definition of `ADC_Init'
ADC.o(.text+0x0):E:\juanjo\Code #MT1750\ADC.c:45: first defined here
Audio Spectrum.o(.text+0x68): In function `_ADCInterrupt':
E:\juanjo\Code #MT1750\Audio Spectrum.c:118: multiple definition of `_ADCInterrupt'
ADC.o(.text+0x68):E:\juanjo\Code #MT1750\ADC.c:118: first defined here
Audio Spectrum.o(.nbss+0xa8):E:\juanjo\Code #MT1750\Audio Spectrum.c: multiple definition of `adcPtr'
ADC.o(.nbss+0x0):E:\juanjo\Code #MT1750\ADC.c: first defined here
d:\archivos de programa\microchip\mplab c30\bin\bin\pic30-coff-ld.exe: Link terminated due to previous error(s).
Link step failed.
Saludos.