5. IN/OUT instructions may be executed twice when Stack is in external RAM
If either an IN or an OUT instruction is executed directly before an interrupt occurs and the stack pointer is
located in external ram, the instruction will be executed twice. In some cases this will cause a problem, for
example:
- If reading SREG it will appear that the I-flag is cleared.
- If writing to the PIN registers, the port will toggle twice.
- If reading registers with interrupt flags, the flags will appear to be cleared.
Problem Fix/Workaround
There are two application workarounds, where selecting one of them, will be omitting the issue:
- Replace IN and OUT with LD/LDS/LDD and ST/STS/STD instructions.
- Use internal RAM for stack pointer.
6. EEPROM read from application code does not work in Lock Bit Mode 3
When the Memory Lock Bits LB2 and LB1 are programmed to mode 3, EEPROM read does not work from the
application code.
Problem Fix/Workaround
Do not set Lock Bit Protection Mode 3 when the application code needs to read from EEPROM.
11.13 ATmega2561 rev. F
• ADC differential input amplification by 46dB (200x) not functional
1. ADC differential input amplification by 46dB (200x) not functional
Problem Fix/Workaround
None.
11.14 ATmega2561 rev. E
No known errata.
11.15 ATmega2561 rev. D
Not sampled.
11.16 ATmega2561 rev. C
• High current consumption in sleep mode.
1. High current consumption in sleep mode
If a pending interrupt cannot wake the part up from the selected sleep mode, the current consumption will
increase during sleep when executing the SLEEP instruction directly after a SEI instruction.
Problem Fix/Workaround
Before entering sleep, interrupts not used to wake the part from the sleep mode should be disabled.
11.17 ATmega2561 rev. B
Not sampled.
ATmega640/V-1280/V-1281/V-2560/V-2561/V [SUMMARY]
31
2549QS–AVR–02/2014