ATMEGA128-16AU SL383 Atmel, ATMEGA128-16AU SL383 Datasheet - Page 212
ATMEGA128-16AU SL383
Manufacturer Part Number
ATMEGA128-16AU SL383
Description
Manufacturer
Atmel
Datasheet
1.ATMEGA128-16AU_SL383.pdf
(386 pages)
- Current page: 212 of 386
- Download datasheet (7Mb)
Note:
212
1
2
3
4
5
6
7
Assembly Code Example
ldi
(1<<TWINT)|(1<<TWSTA)|
out
wait1:
in
sbrs r16,TWINT
rjmp wait1
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
ldi
(1<<TWEN)
out
wait2:
in
sbrs r16,TWINT
rjmp wait2
in
andi r16, 0xF8
cpi
brne ERROR
ldi
out
ldi
(1<<TWEN)
out
wait3:
in
sbrs r16,TWINT
rjmp wait3
in
andi r16, 0xF8
cpi
brne ERROR
ldi
(1<<TWINT)|(1<<TWEN)|
out
For I/O registers located in extended I/O map, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI”, and “SBI” instructions must be replaced with
instructions that allow access to extended I/O. Typically “LDS” and “STS” combined with “SBRS”, “SBRC”, “SBR”, and “CBR”.
ATmega128
r16,
(1<<TWEN)
TWCR, r16
r16,TWCR
r16,TWSR
r16, START
r16, SLA_W
TWDR, r16
r16, (1<<TWINT) |
TWCR, r16
r16,TWCR
r16,TWSR
r16, MT_SLA_ACK
r16, DATA
TWDR, r16
r16, (1<<TWINT) |
TWCR, r16
r16,TWCR
r16,TWSR
r16, MT_DATA_ACK
r16,
(1<<TWSTO)
TWCR, r16
C Example
TWCR = (1<<TWINT)|(1<<TWSTA)|
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) != START)
TWDR = SLA_W;
TWCR = (1<<TWINT) |
(1<<TWEN);
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) !=
MT_SLA_ACK)
TWDR = DATA;
TWCR = (1<<TWINT) |
(1<<TWEN);
while (!(TWCR & (1<<TWINT)))
if ((TWSR & 0xF8) !=
MT_DATA_ACK)
TWCR = (1<<TWINT)|(1<<TWEN)|
(1<<TWEN)
(1<<TWSTO);
;
ERROR();
;
ERROR();
;
ERROR();
Comments
Send START condition
Wait for TWINT flag set. This indicates that the
START condition has been transmitted
Check value of TWI Status Register. Mask
prescaler bits. If status different from START
go to ERROR
Load SLA_W into TWDR Register. Clear
TWINT bit in TWCR to start transmission of
address
Wait for TWINT flag set. This indicates that the
SLA+W has been transmitted, and
ACK/NACK has been received.
Check value of TWI Status Register. Mask
prescaler bits. If status different from
MT_SLA_ACK go to ERROR
Load DATA into TWDR Register. Clear TWINT
bit in TWCR to start transmission of data
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
2467S–AVR–07/09
Related parts for ATMEGA128-16AU SL383
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
Part Number:
Description:
Manufacturer:
ATMEL Corporation
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ 5V 64-QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ 5V 64TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ COM 64-QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ 64-TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ 64-TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC AVR MCU 128K 16MHZ IND 64-QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
MCU AVR 128KB FLASH 16MHZ 64TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
MCU AVR 128KB FLASH 16MHZ 64TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
MCU AVR 128KB FLASH 16MHZ 64QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
MCU AVR 128KB FLASH 16MHZ 64QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC MCU AVR 128K 16MHZ 5V 64-TQFP
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
IC MCU AVR 128K 16MHZ 5V 64-QFN
Manufacturer:
Atmel
Datasheet:
Part Number:
Description:
Microcontroller with 128K bytes In-system programmable flash, 8 MHz, power supply =2.7 - 5.5V
Manufacturer:
ATMEL Corporation
Datasheet: