Datasheet

19
8042ES–AVR–09/2013
ATmega16HVB/32HVB
11. Errata
11.1 The Atmel ATmega16HVB
11.1.1 Rev. E
TWI bus can get stuck if TWI STOP condition bit is set in slave mode
If the TWSTO bit in TWCR is set while the TWI starts to receive data in slave mode, it can result
in pulling the SCL pin low and then the TWI bus will get stuck. To release the SCL pin and get
out of this situation the TWI module needs to be disabled and then re-enabled.
Problem fix/workaround
While in slave mode the TWSTO bit should be written only to recover from an error condition and
then cleared before a data transfer starts.
11.1.2 Rev. D
Not sampled.
11.1.3 Rev. C
TWI bus can get stuck if TWI STOP condition bit is set in slave mode
If the TWSTO bit in TWCR is set while the TWI starts to receive data in slave mode, it can result
in pulling the SCL pin low and then the TWI bus will get stuck. To release the SCL pin and get
out of this situation the TWI module needs to be disabled and then re-enabled.
Problem fix/workaround
While in slave mode the TWSTO bit should be written only to recover from an error condition and
then cleared before a data transfer starts.
11.1.4 Rev. B
Stack pointer initial value
The stack pointer in ATmega16HVB is incorrectly initialized to 0x08ff instead of 0x04ff.
Problem fix/workaround
Initialize the stack pointer in software before the stack is used. Most C-compilers does initial-
ize the stack pointer without manual intervention.
Assembly Code Example:
ldi r16,high(RAMEND); Main program start out SPH,r16 ; Set Stack Pointer to top of RAM ldi
r16,low(RAMEND) out SPL,r16 C Code Example (if required): SP = RAMEND;
TWI bus can get stuck if TWI STOP condition bit is set in slave mode
If the TWSTO bit in TWCR is set while the TWI starts to receive data in slave mode, it can result
in pulling the SCL pin low and then the TWI bus will get stuck. To release the SCL pin and get
out of this situation the TWI module needs to be disabled and then re-enabled.
Problem fix/workaround
While in slave mode the TWSTO bit should be written only to recover from an error condition and
then cleared before a data transfer starts.
11.1.5 Rev. A
Not sampled.