¿Cómo se manejaría un error en el manejo de errores en interfaces AVR que no proporcionan específicamente un esquema de reconocimiento?
Por ejemplo, tengo un sensor de temperatura I2C que sondea cada 1 hora. Así que cada hora mi AVR envía una condición de inicio TWI al sensor y obtiene la temperatura al final de este. Ahora Por alguna razón, el sensor no responde. Tal vez ha sido sacado, quemado, etc. Entonces, ¿cómo puedo verificar esto en mi código e informar al usuario?
Ahora mismo estoy usando el método de sondeo. Bucle infinito hasta que TWINT se establece en el registro TWCR
while ((TWCR & (1<<TWINT)) == 0){};
return TWDR;