atmega32u4-16mu ATMEL Corporation, atmega32u4-16mu Datasheet - Page 180
![no-image](/images/manufacturer_photos/0/0/79/atmel_corporation_sml.jpg)
atmega32u4-16mu
Manufacturer Part Number
atmega32u4-16mu
Description
Atmega32u4 8-bit Avr Microcontroller With 32k Bytes Of Isp Flash And Usb Controller
Manufacturer
ATMEL Corporation
Datasheet
1.ATMEGA32U4-16MU.pdf
(431 pages)
- Current page: 180 of 431
- Download datasheet (6Mb)
16.11.1
180
ATmega32U4
Reusing the temporary high byte register
The following code examples show how to do an atomic write of the TCNTn register contents.
Writing any of the OCRnA/B/C/D registers can be done by using the same principle.
Note:
The assembly code example requires that the r17:r16 register pair contains the value to be writ-
ten to TCNTn.
If writing to more than one 10-bit register where the high byte is the same for all registers written,
then the high byte only needs to be written once. However, note that the same rule of atomic
operation described previously also applies in this case.
Assembly Code Example
TIM1_WriteTCNTn:
C Code Example
void TIM1_WriteTCNTn( unsigned int i )
{
}
; Save global interrupt flag
in r18,SREG
; Disable interrupts
cli
; Set TCNTn to r17:r16
out TCnH,r17
out TCNTn,r16
; Restore global interrupt flag
out SREG,r18
ret
unsigned char sreg;
unsigned int i;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Set TCNTn to i */
TCnH = (i >> 8);
TCNTn = (unsigned char)i;
/* Restore global interrupt flag */
SREG = sreg;
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”.
7766A–AVR–03/08
Related parts for atmega32u4-16mu
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
![ATmega32](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
Atmel Corporation
Datasheet:
![ATMEGA32-8AU](/images/manufacturer_photos/0/0/79/atmel_corporation_tmb.jpg)
Part Number:
Description:
Manufacturer:
ATMEL Corporation
Datasheet:
![ATMEGA128RFA1-ZU](/photos/12/13/121326/313-64-qfn_tmb.jpg)
Part Number:
Description:
IC AVR MCU 2.4GHZ XCEIVER 64QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA328P-20PU](/images/manufacturer_photos/0/0/78/atmel_tmb.jpg)
Part Number:
Description:
Manufacturer:
Atmel
Datasheet:
![ATMEGA64RZAV-10PU](/photos/14/18/141872/atmega64rzav-10pu_tmb.jpg)
Part Number:
Description:
MCU ATMEGA644/AT86RF230 40-DIP
Manufacturer:
Atmel
Datasheet:
![ATMEGA64RZAPV-10MU](/photos/12/13/121326/313-64-qfn_tmb.jpg)
Part Number:
Description:
BUNDLE ATMEGA644P/AT86RF230 QFN
Manufacturer:
Atmel
Datasheet:
![ATMEGA64RZAPV-10AU](/photos/6/70/67042/313-44-tqfp_tmb.jpg)
Part Number:
Description:
BUNDLE ATMEGA644P/AT86RF230 TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA128RZAV-8AU](/photos/12/13/121332/313-64-tqfp_tmb.jpg)
Part Number:
Description:
MCU ATMEGA1281/AT86RF230 64-TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA128RZBV-8AU](/photos/6/70/67048/313-100-tqfp_tmb.jpg)
Part Number:
Description:
MCU ATMEGA1280/AT86RF230 100TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA128RZBV-8CU](/photos/6/70/67048/313-100-tqfp_tmb.jpg)
Part Number:
Description:
BUNDLE ATMEGA1280/AT86RF100-TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA256RZBV-8CU](/photos/6/89/68968/313-100-cbga_tmb.jpg)
Part Number:
Description:
BUNDLE ATMEGA2560V/AT86RF230-ZU
Manufacturer:
Atmel
Datasheet:
![ATMEGA256RZAV-8AU](/photos/12/13/121332/313-64-tqfp_tmb.jpg)
Part Number:
Description:
MCU ATMEGA2561/AT86RF230 64-TQFP
Manufacturer:
Atmel
Datasheet:
![ATMEGA168PA-PU](/photos/19/6/190669/ge28pdip05-40_tmb.jpg)
Part Number:
Description:
MCU, 8BIT, AVR, 16K FLASH, 28PDIP
Manufacturer:
Atmel
Datasheet:
![MIKROE-459](/photos/40/80/408077/mcu_card_atmega_tmb.jpg)
Part Number:
Description:
Microcontroller Modules MCU CARD BIGAVR6 100P W/ ATMEGA2560
Manufacturer:
mikroElektronika