Wenn du diese 2 Funktionen benutzt, liest du adc0 und adc1 richtig ein.
Code:
void getADC0(void)
{
 I2CTWI_readRegisters(I2C_RP6_BASE_ADR, I2C_REG_ADC_ADC0_L, RP6data, 2);
 adc0 = RP6data[0] + (RP6data[1]<<8);
}
 
void getADC1(void)
{
 I2CTWI_readRegisters(I2C_RP6_BASE_ADR, I2C_REG_ADC_ADC1_L, RP6data, 2);
 adc1 = RP6data[0] + (RP6data[1]<<8);
}
RP6data müßtest du als uint8_t RP6data[2] deklarieren.
Für Ubat sieht die Funktion genauso aus. Der 2. Parameter in der I2C-Lesefunktion wäre dann I2C_REG_ADC_UBAT_L.