English
Language : 

ATMEGA128RFA1_11 Datasheet, PDF (389/560 Pages) ATMEL Corporation – 8-bit Microcontroller with Low Power 2.4GHz Transceiver for ZigBee and IEEE 802.15.4
ATmega128RFA1
details of the following serial transfer are given in Table 25-3 on page 391 to Table 25-6
on page 399. Note that the prescaler bits are masked to zero in these tables.
25.7.1 Master Transmitter Mode
In the Master Transmitter mode, a number of data bytes are transmitted to a Slave
Receiver (see Figure 25-11 below). In order to enter a Master mode, a START
condition must be transmitted. The format of the following address packet determines
whether Master Transmitter or Master Receiver mode is to be entered. If SLA+W is
transmitted, MT mode is entered, if SLA+R is transmitted, MR mode is entered. All
status codes mentioned in this section assume that the prescaler bits are zero or are
masked to zero.
Figure 25-11. Data Transfer in Master Transmitter Mode
DEVDD
Device 1
Device 2
MASTER
SLAVE
Device 3 ........ Device n
R1
R2
TRANSMITTER
RECEIVER
8266C-MCU Wireless-08/11
SDA
SCL
A START condition is sent by writing the following value to TWCR:
TWCR TWINT TWEA TWSTA TWSTO TWWC TWEN
–
Value
1
X
1
0
X
1
0
TWIE
X
TWEN must be set to enable the 2-wire Serial Interface, TWSTA must be written to one
to transmit a START condition and TWINT must be written to one to clear the TWINT
Flag. The TWI will then test the 2-wire Serial Bus and generate a START condition as
soon as the bus becomes free. After a START condition has been transmitted, the
TWINT Flag is set by hardware, and the status code in TWSR will be 0x08 (see Table
25-3 on page 391). In order to enter MT mode, SLA+W must be transmitted. This is
done by writing SLA+W to TWDR. Thereafter the TWINT bit should be cleared (by
writing it to one) to continue the transfer. This is accomplished by writing the following
value to TWCR:
TWCR TWINT TWEA TWSTA TWSTO TWWC TWEN
–
Value
1
X
0
0
X
1
0
TWIE
X
When SLA+W have been transmitted and an acknowledgement bit has been received,
TWINT is set again and a number of status codes in TWSR are possible. Possible
status codes in Master mode are 0x18, 0x20, or 0x38. The appropriate action to be
taken for each of these status codes is detailed in Table 25-3 on page 391.
When SLA+W has been successfully transmitted, a data packet should be transmitted.
This is done by writing the data byte to TWDR. TWDR must only be written when
TWINT is high. If not, the access will be discarded, and the Write Collision bit (TWWC)
will be set in the TWCR Register. After updating TWDR, the TWINT bit should be
cleared (by writing it to one) to continue the transfer. This is accomplished by writing the
following value to TWCR:
389