Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Для компилятора MikroC написано в хелпе:
" This function doesn't work with the external voltage reference source, only with the internal voltage reference."
Что же, попробуем (PIC18F14K22,  PIC18F13K22 ):
4,096V внутренняя опора, канал AN4:
unsigned int x;
ANSEL = 0b00010000; // Configure AN4 pin as analog and 
ANSELH = 0x00;
C1ON_bit = 0; // disable comparator
C2ON_bit = 0; // disable comparator

ADC_Init();

   FVR1S0_bit = 1;
   FVR1S1_bit = 1;
   D1PSS1_bit = 1; // connect FVR
   D1LPS_bit = 1;
   FVR1EN_bit =1; //Enable FVR

 PVCFG1_bit = 1;
 PVCFG0_bit = 0; // use FVR

Если канал будет на порте RA или RB, отключаем ещё прерывания и подвязку:
Например, используем AN3 (связан с RA4)
IOCA4_bit =0; // disable interrupt
WPUA4_bit =0; //disable pull-ups

x=ADC_Read(4); // get result

-------------

Теперь внешнее напряжение в качестве опорного:

unsigned int x;

ANSEL = 0b00010010; // Configure AN4 pin as analog and (AN1 as Vref ?)
ANSELH = 0x00;
C1ON_bit = 0; // disable comparator
C2ON_bit = 0; // disable comparator 

  IOCA1_bit =0; // disable interrupt Vref
  WPUA1_bit =0; //disable pull-ups 

ADC_Init();

PVCFG0_bit =1; // VREF
PVCFG1_bit =0;

x=ADC_Read(4); // get result