PIC 24FJ64GA002 problem a AD prevodnikom

Cau.

Ja mam PIC 24FJ64GA002 urobil som v predmete spravу chуbu.

Kod je presne rovnak ako na spominanom webu.

[code]#define CLOCK 16

_CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF
& COE_OFF & ICS_PGx1 & FWDTEN_OFF)

_CONFIG2(IESO_OFF & FNOSC_FRCPLL & FCKSM_CSDCMD
& OSCIOFNC_OFF & IOL1WAY_OFF & I2C1SEL_PRI & POSCMOD_NONE)

void delay_us(int usec);
void delay_ms(int msec);

unsigned long ADCValue;

int main(void)
{
CLKDIV = 0;
AD1PCFG = 0xFFEF; // AN4(RB2)
TRISA = 0xFFFE; // RA0
TRISB = 0xFFFF;

T3CON=0b1000000000110000;
PR3 = 3124; // 50000÷((1/16)×256)-1 = 3124

AD1CON1 = 0x8044; // AD1CON1:A/D

AD1CON2 = 0x0400; // AD1CON2:A/D

AD1CON3 = 0x1F05; // AD1CON3:A/D

AD1CSSL = 0x0010; // AD1CSSL:A/D
AD1CHS = 0x0000; // AD1CHS:A/D

IEC0bits.AD1IE = 1; // A/D

while(1)
{

  delay_ms(ADCValue);
  // LED
  LATAbits.LATA0 = !LATAbits.LATA0;

}

return 0;
}

void attribute((interrupt,auto_psv)) _ADC1Interrupt(void)
{
IFS0bits.AD1IF = 0;
ADCValue = ADC1BUF0;
}

void delay_us(int usec)
{
usec=(int)(CLOCK*usec)/10;
while(usec)
{
asm(“NOP”);
asm(“NOP”);
asm(“NOP”);
asm(“NOP”);
asm(“NOP”);
asm(“NOP”);
usec–;
}
}

void delay_ms(int msec)
{
int i;
for(i = 0; i < msec; i++)
{
delay_us(1000);
}
}[/code]