Atmel ATmega164P/V Manual De Usuario página 180

Microcontrolador avr de 8 bits de alto rendimiento y bajo consumo.
Tabla de contenido

Publicidad

5. El software de aplicación debería examinar ahora el valor de TWSR, para
estar seguros que el paquete de dirección fue transmitido satisfactoriamente, y
que el valor del bit ACK fue
Esperado. Si TWSR indica por otra parte, el software de aplicación tomara
algunas acciones especiales, como llamar una rutina de error. Asumiendo que el
código de estado es esperado, la aplicación cargará un paquete de datos dentro
del TWDR. Subsecuentemente, un valor específico sería escrito a TWCR,
instruyendo el hardware TWI a transmitir el paquete de datos presente en
TWDR. Con el cual el valor escrito es descrito después. Sin embargo, es
importante que el bit TWINT sea puesto en el valor escrito. Escribiendo uno a
TWINT las banderas son limpiadas. El TWI no iniciará ninguna operación
mientras el bit TWINT en TWCR sea uno. Inmediatamente después la
aplicación es limpiada en TWINT, el TWI iniciará la transmisión del paquete de
datos.
6. Cuando el paquete de datos ha sido transmitido, la bandera TWINT en
TWCR será uno, y TWSR es actualizado con el código de estado indicando que
el paquete de datos ha sido enviado satisfactoriamente. El código de estado
también reflejara si el esclavo desconoce el paquete.
7. El software de aplicación debería ahora examinar el valor de TWSR, para
asegurarse que el paquete de datos fue transmitido satisfactoriamente, y que el
valor del bit ACK fue esperado. Si TWSR indica por otra parte, el software de
aplicación tomara algunas acciones especiales, como llamar una rutina de error.
Asumiendo que el código de estado es esperado, la aplicación escribiría el valor
específico a TWCR, instruyendo el hardware TWI a condición de transmisión
de parada.
El valor escrito es descrito mas adelante. Sin embargo, es
importante que el bit TWINT sea puesto en el valor escrito. Escribiendo uno en
TWINT las banderas son limpiadas. El TWI no empezará ninguna operación
mientras el bit TWINT en TWCR sea uno. Inmediatamente después la
aplicación es limpiada en TWINT, el TWI inicia la transmisión de parada. Note
que TWINT no es habilitada después de una condición de PARADA ha sido
enviada.
• Cuando el TWI ha finalizado una operación y espera una respuesta a la
aplicación, la bandera TWINT es uno. La línea SCL es pulled low hasta que
TWINT es limpiada.
• Cuando la bandera TWINT es uno, el usuario actualizaría todos los registros
TWI con el valor relevante para el siguiente ciclo del bus TWI. Como un
ejemplo, TWDR sería cargado con el valor a ser transmitido en el siguiente ciclo
del bus.
• Después todos los Registros TWI actualizan y otras tareas del software de
aplicación han sido completadas, TWCR es escrito. Cuando se escribe en
TWCR, el bit TWINT debería ser habilitado. Escribiendo uno en TWINT las

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Atmega324p/vAtmega644p/v

Tabla de contenido