![](http://datasheet.mmic.net.cn/Atmel/ATMEGA645V-8MI_datasheet_96567/ATMEGA645V-8MI_25.png)
25
2570N–AVR–05/11
ATmega325/3250/645/6450
8.5.4
GPIOR2 – General Purpose I/O Register 2
8.5.5
GPIOR1 – General Purpose I/O Register 1
8.5.6
GPIOR0 – General Purpose I/O Register 0
Assembly Code Example
EEPROM_read:
; Wait for completion of previous write
sbic
EECR,EEWE
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
r16,EEDR
ret
C Code Example
unsigned char
EEPROM_read(unsigned int uiAddress)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE))
;
/* Set up address register */
EEAR = uiAddress;
/* Start eeprom read by writing EERE */
EECR |= (1<<EERE);
/* Return data from Data Register */
return EEDR;
}
Bit
765
4321
0
MSB
LSB
GPIOR2
Read/Write
R/W
Initial Value
000
0000
0
Bit
765
4321
0
MSB
LSB
GPIOR1
Read/Write
R/W
Initial Value
000
0000
0
Bit
765
4321
0
MSB
LSB
GPIOR0
Read/Write
R/W
Initial Value
000
0000
0