Attiny2313 – Rainbow Electronics ATtiny2313 User Manual
Page 19

19
ATtiny2313
2543A–AVR–08/03
The following code examples show one assembly and one C function for writing to the
EEPROM. The examples assume that interrupts are controlled (e.g. by disabling inter-
rupts globally) so that no interrupts will occur during execution of these functions.
Assembly Code Example
EEPROM_write:
; Wait for completion of previous write
sbic EECR,EEWE
rjmp EEPROM_write
; Set up address (r17) in address register
out EEAR, r17
; Write data (r16) to data register
out EEDR,r16
; Write logical one to EEMWE
sbi EECR,EEMWE
; Start eeprom write by setting EEWE
sbi EECR,EEWE
ret
C Code Example
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
/* Wait for completion of previous write */
while(EECR & (1< ; /* Set up address and data registers */ EEAR = uiAddress; EEDR = ucData; /* Write logical one to EEMWE */ EECR |= (1< /* Start eeprom write by setting EEWE */ EECR |= (1< }
- MAX5151 (16 pages)
- MAXQ3108 (64 pages)
- MAX5661 (39 pages)
- MAX6691 (7 pages)
- MAX5362 (12 pages)
- ADC10158 (26 pages)
- MAX8922L (14 pages)
- MAX8596Z (8 pages)
- MAX7491 (18 pages)
- MAX15040 (15 pages)
- MAX5177 (16 pages)
- ADC08138 (22 pages)
- MAX5961 (42 pages)
- T89C51RD2 (86 pages)
- MAX16055 (9 pages)
- MAX6659 (17 pages)
- ADC0820 (20 pages)
- MAX6678 (19 pages)
- MAX8884Z (15 pages)
- MAX16915 (9 pages)
- MAX8620 (18 pages)
- MAX5144 (12 pages)
- MAX6670 (8 pages)
- MAX8760 (39 pages)
- W78C32C (14 pages)
- MX7533 (8 pages)
- MAX8727 (13 pages)
- MAX9053 (15 pages)
- W78C54 (16 pages)
- MAX8614B (15 pages)
- W90N740 (219 pages)
- MAX6626 (13 pages)
- ADC10738 (30 pages)
- MAX17000 (31 pages)
- MAX5051 (21 pages)
- MAXQ1004 (18 pages)
- MAX6871 (51 pages)
- MX7847 (12 pages)
- MAX6608 (6 pages)
- MAX17083 (15 pages)
- MAX6641 (17 pages)
- MAX5251 (16 pages)
- MAX6338 (8 pages)
- MAX6690 (16 pages)
- MAX8668 (18 pages)