//Read an Single ADC Channel of the ADS1115 uint16_t ADS1115_readADCSingle(uint8_t channel) { if(channel > 3) { return 0; } uint16_t config = ADS1015_REG_CONFIG_CQUE_NONE | ADS1015_REG_CONFIG_CLAT_NONLAT | ADS1015_REG_CONFIG_CPOL_ACTVLOW | ADS1015_REG_CONFIG_CMODE_TRAD | ADS1015_REG_CONFIG_DR_128SPS | ADS1015_REG_CONFIG_MODE_SINGLE; config |= ADS1015_REG_CONFIG_PGA_4_096V; switch(channel) { case 0: config |= ADS1015_REG_CONFIG_MUX_SINGLE_0; break; case 1: config |= ADS1015_REG_CONFIG_MUX_SINGLE_1; break; case 2: config |= ADS1015_REG_CONFIG_MUX_SINGLE_2; break; case 3: config |= ADS1015_REG_CONFIG_MUX_SINGLE_3; break; } config |= ADS1015_REG_CONFIG_OS_SINGLE; //<--- Diese Option wird zu -32768 writeRegister(ADSaddress, ADS1015_REG_POINTER_CONFIG, config/*49923*/); _delay_ms(ADS1115_CONVERSIONDELAY); return readRegister(ADSaddress, ADS1015_REG_POINTER_CONVERT) >> bitShift; }