Hola, cuando tenemos un PIC que no conocemos bien, lo mejor es usar el 'PIC Wizard' del CCS. Aquí un ejemplo de configuración básica (con el PIC Wizard) para 8 entradas análogas:
#include <18F4520.h>
#device adc=10
#device *=16
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOPBADEN //PORTB pins are configured as digital I/O on RESET
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#use delay(clock=4000000)
void main()
{
setup_adc_ports(AN0_TO_AN7);
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
while(TRUE)
{
//TODO: User Code
}
}
La directiva
#device adc=x se usa para determinar el número de bits que devuelve la conversión que hace
read_adc(). Con
*=16, usa punteros de 16 bits, que por ahora no necesitas.
Saludos!