Estamos utilizando un dispositivo DAC MAX517 como esclavo y un controlador ATmega8535 como maestro. Los errores de comunicación se pueden detectar fácilmente comparando (TWSR y 0xF8) con 0x08 para Inicio, 0x18 para transmisión de direcciones y 0x28 para transmisión de datos, respectivamente.
Pero me pregunto de dónde provienen esos valores. En la hoja de datos de Atmel encuentro los símbolos habituales START (para 0x08), MT_SLA_ACK (para 0x18) y MT_DATA_ACK (para 0x28), pero no los valores numéricos. Tampoco los valores mencionados en la hoja de datos de MAX517.