Salve a tutti,
volevo segnalare una anomalia che mi succede con il compilatore XC8 di MPLAB X, premetto che ho aggiunto nelle opzioni del compilatore il percorso dei file header della libreria delle periferiche che porta XC8 (nel caso specifico ...xc8/v1.12/include/plib/adc.h).
In particolare l'editor di MPLAB X, mi accetta la direttiva #include <adc.h>, però all'interno del main mi segnala che non può trovare la funzione OpenADC(), mentre trova la funzione CloseADC().
Come se non bastasse il progetto lo compila regolarmente (non dà messaggi di errore), se però richiamo la call graph dalla funzione main noto la chiamata alla funzione CloseADC(), mentre manca la chiamata alla funzione OpenADC().
Ultima stranezza la funzione CloseADC() viene identificata anche in assenza della inclusione del file adc.h.
Non ho ancora provato se le funzioni girano correttamente sul PIC nel caso in cui lo programmassi.
Includo il main.c da me usato. Grazie per la collaborazione, a presto.
Scollo Giovanni
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <adc.h>
#pragma config WDTEN = OFF, FOSC = INTIO67, MCLRE = EXTMCLR
#pragma config LVP = OFF, PBADEN = OFF
#define _XTAL_FREQ 16000000
int main() {
char shadow=0;
TRISB = 255;
TRISD = 0;
TRISC = 1;
LATD = 0;
INTCON2 = INTCON2 | 80;
OSCCON = OSCCON | 0x70;
OpenADC(10, 10, 10); //FUNZIONE NON RICONOSCIUTA
CloseADC(); //FUNZIONE RICONOSCIUTA
while(1)
{
LATDbits.LATD1 = PORTBbits.RB1;
}
}