Wenn du diese 2 Funktionen benutzt, liest du adc0 und adc1 richtig ein.
RP6data müßtest du als uint8_t RP6data[2] deklarieren.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); }
Für Ubat sieht die Funktion genauso aus. Der 2. Parameter in der I2C-Lesefunktion wäre dann I2C_REG_ADC_UBAT_L.







Zitieren

Lesezeichen