beautypg.com

Miscellaneous states, Figure 93, ci, Atmega16(l) – Rainbow Electronics ATmega64L User Manual

Page 189: Table 77. miscellaneous states

background image

189

ATmega16(L)

2466B–09/01

Figure 93. Formats and States in the Slave Transmitter Mode

Miscellaneous States

There are two status codes that do not correspond to a defined TWI state, see Table 77.

Status $F8 indicates that no relevant information is available because the TWINT flag is
not set. This occurs between other states, and when the TWI is not involved in a serial
transfer.

Status $00 indicates that a bus error has occurred during a 2-wire Serial Bus transfer. A
bus error occurs when a START or STOP condition occurs at an illegal position in the
format frame. Examples of such illegal positions are during the serial transfer of an
address byte, a data byte, or an acknowledge bit. When a bus error occurs, TWINT is
set. To recover from a bus error, the TWSTO flag must set and TWINT must be cleared
by writing a logic one to it. This causes the TWI to enter the not addressed slave mode
and to clear the TWSTO flag (no other bits in TWCR are affected). The SDA and SCL
lines are released, and no STOP condition is transmitted.

S

SLA

R

A

DATA

A

$A8

$B8

A

$B0

Reception of the own
slave address and one or
more data bytes

Last data byte transmitted.
Switched to not addressed
slave (TWEA = '0')

Arbitration lost as master
and addressed as slave

n

From master to slave

From slave to master

Any number of data bytes
and their associated acknowledge bits

This number (contained in TWSR) corresponds
to a defined state of the 2-Wire Serial Bus. The
prescaler bits are zero or masked to zero

P or S

DATA

$C0

DATA

A

A

$C8

P or S

All 1's

A

Table 77. Miscellaneous States

Status Code
(TWSR)
Prescaler Bits
are 0

Status of the 2-wire Serial Bus
and 2-wire Serial Interface Hard-
ware

Application Software Response

Next Action Taken by TWI Hardware

To/from TWDR

To TWCR

STA

STO

TWINT

TWEA

$F8

No relevant state information
available; TWINT = “0”

No TWDR action

No TWCR action

Wait or proceed current transfer

$00

Bus error due to an illegal
START or STOP condition

No TWDR action

0

1

1

X

Only the internal hardware is affected, no STOP condi-
tion is sent on the bus. In all cases, the bus is released
and TWSTO is cleared.