ATMEGA32U4-AUR Atmel, ATMEGA32U4-AUR Datasheet - Page 159

MCU AVR 16K FLASH 16MHZ 44TQFP

ATMEGA32U4-AUR

Manufacturer Part Number
ATMEGA32U4-AUR
Description
MCU AVR 16K FLASH 16MHZ 44TQFP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheet

Specifications of ATMEGA32U4-AUR

Core Processor
AVR
Core Size
8-Bit
Speed
16MHz
Connectivity
I²C, SPI, UART/USART, USB
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
26
Program Memory Size
32KB (16K x 16)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
2.5K x 8
Voltage - Supply (vcc/vdd)
2.7 V ~ 5.5 V
Data Converters
A/D 12x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Package / Case
44-TQFP, 44-VQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA32U4-AUR
Manufacturer:
Atmel
Quantity:
10 000
15.11 Accessing 10-Bit Registers
7766F–AVR–11/10
If 10-bit values are written to the TCNTn and OCRnA/B/C/D registers, the 10-bit registers can be
byte accessed by the AVR CPU via the 8-bit data bus using two read or write operations. The
10-bit registers have a common 2-bit Timer/Counter4 High Byte Register (TC4H) that is used for
temporary storing of the two MSBs of the 10-bit access. The same TC4H register is shared
between all 10-bit registers. Accessing the low byte triggers the 10-bit read or write operation.
When the low byte of a 10-bit register is written by the CPU, the high byte stored in the TC4H
register, and the low byte written are both copied into the 10-bit register in the same clock cycle.
When the low byte of a 10-bit register is read by the CPU, the high byte of the 10-bit register is
copied into the TC4H register in the same clock cycle as the low byte is read.
To do a 10-bit write, the high byte must be written to the TC4H register before the low byte is
written. For a 10-bit read, the low byte must be read before the high byte.
The following code examples show how to access the 10-bit timer registers assuming that no
interrupts updates the TC4H register. The same principle can be used directly for accessing the
OCRnA/B/C/C/D registers.
Note:
The assembly code example returns the TCNTn value in the r17:r16 register pair.
Assembly Code Example
C Code Example
unsigned int i;
...
/* Set TCNTn to 0x01FF */
TCnH = 0x01;
TCNTn = 0xFF;
/* Read TCNTn into i */
i = TCNTn;
i |= ((unsigned int)TCnH << 8);
...
...
; Set TCNTn to 0x01FF
ldi r17,0x01
ldi r16,0xFF
out TCnH,r17
out TCNTn,r16
; Read TCNTn into r17:r16
in r16,TCNTn
in r17,TCnH
...
1. The example code assumes that the part specific header file is included.
For I/O registers located in extended I/O map, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI”, and “SBI”
instructions must be replaced with instructions that allow access to extended I/O. Typically
“LDS” and “STS” combined with “SBRS”, “SBRC”, “SBR”, and “CBR”.
ATmega16/32U4
159

Related parts for ATMEGA32U4-AUR