ATMEGA644PV ATMEL [ATMEL Corporation], ATMEGA644PV Datasheet - Page 216

no-image

ATMEGA644PV

Manufacturer Part Number
ATMEGA644PV
Description
8-bit Microcontroller with 16/32/64K Bytes In-System Programmable Flash
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA644PV-10AQ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AQR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AUR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10MU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATMEGA644PV-20AU
Manufacturer:
Atmel
Quantity:
10 000
19.7
216
6
7
Assembly Code Example
wait3:
in
sbrs r16,TWINT
rjmp wait3
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
Transmission Modes
ATmega164P/324P/644P
r16,TWCR
r16,TWSR
r16, MT_DATA_ACK
r16, (1<<TWINT)|(1<<TWEN)|
(1<<TWSTO)
TWCR, r16
The TWI can operate in one of four major modes. These are named Master Transmitter (MT),
Master Receiver (MR), Slave Transmitter (ST) and Slave Receiver (SR). Several of these
modes can be used in the same application. As an example, the TWI can use MT mode to write
data into a TWI EEPROM, MR mode to read the data back from the EEPROM. If other masters
are present in the system, some of these might transmit data to the TWI, and then SR mode
would be used. It is the application software that decides which modes are legal.
The following sections describe each of these modes. Possible status codes are described
along with figures detailing data transmission in each of the modes. These figures contain the
following abbreviations:
S: START condition
Rs: REPEATED START condition
R: Read bit (high level at SDA)
W: Write bit (low level at SDA)
A: Acknowledge bit (low level at SDA)
A: Not acknowledge bit (high level at SDA)
Data: 8-bit data byte
P: STOP condition
SLA: Slave Address
In
TWINT Flag is set. The numbers in the circles show the status code held in TWSR, with the
prescaler bits masked to zero. At these points, actions must be taken by the application to con-
tinue or complete the TWI transfer. The TWI transfer is suspended until the TWINT Flag is
cleared by software.
When the TWINT Flag is set, the status code in TWSR is used to determine the appropriate soft-
ware action. For each status code, the required software action and details of the following serial
transfer are given in
bits are masked to zero in these tables.
Figure 19-12 on page 219
Table 19-2 on page 218
C Example
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) !=
MT_DATA_ACK)
TWCR = (1<<TWINT)|(1<<TWEN)|
(1<<TWSTO);
to
;
ERROR();
Figure 19-18 on page
to
Table 19-5 on page
228, circles are used to indicate that the
Wait for TWINT Flag set. This
indicates that the DATA has been
transmitted, and ACK/NACK has
been received.
Check value of TWI Status
Register. Mask prescaler bits. If
status different from
MT_DATA_ACK go to ERROR
Transmit STOP condition
Comments
227. Note that the prescaler
8011D–AVR–02/07

Related parts for ATMEGA644PV