ATmega640/1280/1281/2560/2561
2. Part does not work under 2.4 volts
The part does not execute code correctly below 2.4 volts
Problem Fix/Workaround
Do not use the part at voltages below 2.4 volts.
3. Incorrect ADC reading in differential mode
The ADC has high noise in differential mode. It can give up to 7 LSB error.
Problem Fix/Workaround
Use only the 7 MSB of the result when using the ADC in differential mode
4. Internal ADC reference has too low value
The internal ADC reference has a value lower than specified
Problem Fix/Workaround
- Use AVCC or external reference
- The actual value of the reference can be measured by applying a known voltage to the
ADC when using the internal reference. The result when doing later conversions can then be
calibrated.
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.
435
2549L–AVR–08/07