Teď jsem naštěstí neměl potřebu ani zapínat delší dobu PC a je fajn, že jste to rozchodili.
Microcrochip má nízký vnitřní odpor A/D, ale jen když A/D připojí sample kýbl ke vstupu ná pár stovek ns než se nabije, jinak to má impedanci/ odpor jak jakýkoli jiný CMOS vstup. Běžně mám 3x 330k a dole 5k6 dělič na 400VDC. 330k a 44k na 12VDC… a bez jediného problému už tak 10 let. Na vstupu ještě je pověšenej kond 100n.
Ad ty vstupy: Takok moc se se s tím nedrbal, zabil jsem tím asi 2 dny a docela to chodilo.
Takhle mám nastavený A/D na P24FJ64GA306, který má stejný A/D
// <nastavení A/D>
AD1CON1 = 0b0000010000000000; // 12b
AD1CON2 = 0b0000100000000000;
AD1CON3 = 0b0000010000001001; //OSC /8
AD1CON4 = 0; //DMA OFF
AD1CON5 = 0b0000000000000000;
IPC3bits.AD1IP = 2; //Interrupt priority = 2
IEC0bits.AD1IE = 1; //Povolení přerušení od A/D převodníku
AD1CON1bits.ADON = 1;
// </nastavení A/D>
Při přerušení od ADC1 si pak vyberu data v konkrétním AD1BUFxx
Převod se spouští
void ADC_start (unsigned char Kanal)
{
unsigned char t;
AD1CHSbits.CH0SB = Kanal; //Nastavení kanálu
AD1CHSbits.CH0SA = Kanal;
AD1CON1bits.SAMP = 1; //Spustit vzorkování
for (t=0;t<14;t++); //Počkat na přepnutí
AD1CON1bits.SAMP = 0; //Spustit převod
}