ADC-převodník

Sakra, když jsem to kopíroval, tak mi vypadla část fce. Tadu je celý kód té funkce:

unsigned int ADC (unsigned int channel) {    
            
    ADCON1 = 0x0C;
    ADCON2 = 0x92;
    ADRESH = 0x00;
    ADRESL = 0x00;
    
          
    
    ADCON0 = (channel << 2);
    ADCON0 |= 0x03;
        
    
    while (ADCON0bits.GO_nDONE);
    
    //ADC_value = ((ADRESH*256)| (ADRESL));    
   
    return ((ADRESH << 8)| ADRESL);    
    
}

No, jde mi o to, že když zadám parametru funkce číslo kanálu (portu) na kterém mam připojený potenciometr, tak aby vrátila hodnotu z AD převodníku. A tu hodnotu předávám do pole se kterým dále pracuji. Měním střídu PWM signálu, jenže v tom nepájivém poli se to chová prapodivně - potenciometry se navzájem ovlivňují.