ATMEGA16U2-16AU Atmel, ATMEGA16U2-16AU Datasheet - Page 24

no-image

ATMEGA16U2-16AU

Manufacturer Part Number
ATMEGA16U2-16AU
Description
8-bit Microcontrollers - MCU 16K Flash
Manufacturer
Atmel
Datasheet

Specifications of ATMEGA16U2-16AU

Product Category
8-bit Microcontrollers - MCU
Rohs
yes
Core
AVR
Data Bus Width
8 bit
Program Memory Size
16 KB
Data Ram Size
1.25 KB
Data Rom Size
512 B
Program Memory Type
Flash
Factory Pack Quantity
1250
7.5.4
7.5.5
7799D–AVR–11/10
GPIOR2 – General Purpose I/O Register 2
GPIOR1 – General Purpose I/O Register 1
The next code examples show assembly and C functions for reading the EEPROM. The exam-
ples assume that interrupts are controlled so that no interrupts will occur during execution of
these functions.
Note:
Bit
0x2B (0x4B)
Read/Write
Initial Value
Bit
0x2A (0x4A)
Read/Write
Initial Value
Assembly Code Example
C Code Example
EEPROM_read:
unsigned char EEPROM_read(unsigned int uiAddress)
{
}
; Wait for completion of previous write
sbic EECR,EEPE
rjmp EEPROM_read
; Set up address (r18:r17) in address register
out EEARH, r18
out EEARL, r17
; Start eeprom read by writing EERE
sbi EECR,EERE
; Read data from Data Register
in
ret
/* Wait for completion of previous write */
while(EECR & (1<<EEPE))
/* Set up address register */
EEAR = uiAddress;
/* Start eeprom read by writing EERE */
EECR |= (1<<EERE);
/* Return data from Data Register */
return EEDR;
1. See “Code Examples” on page 6.
;
r16,EEDR
MSB
MSB
R/W
R/W
7
0
7
0
(1)
R/W
R/W
6
0
6
0
(1)
R/W
R/W
5
0
5
0
R/W
R/W
4
0
4
0
ATmega8U2/16U2/32U2
R/W
R/W
3
0
3
0
R/W
R/W
2
0
2
0
R/W
R/W
1
0
1
0
LSB
R/W
LSB
R/W
0
0
0
0
GPIOR2
GPIOR1
24

Related parts for ATMEGA16U2-16AU