Rainbow-electronics ATmega3290P_V Manuale Utente Pagina 109

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 375
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 108
109
ATmega329/3290/649/6490
2552H–AVR–11/06
The following code examples show how to do an atomic read of the TCNT1 Register
contents. Reading any of the OCR1A/B or ICR1 Registers can be done by using the
same principle.
Note: 1. See “About Code Examples” on page 8.
The assembly code example returns the TCNT1 value in the r17:r16 register pair.
Assembly Code Example
(1)
TIM16_ReadTCNT1:
; Save global interrupt flag
in r18,SREG
; Disable interrupts
cli
; Read TCNT1 into r17:r16
in r16,TCNT1L
in r17,TCNT1H
; Restore global interrupt flag
out SREG,r18
ret
C Code Example
(1)
unsigned int TIM16_ReadTCNT1( void )
{
unsigned char sreg;
unsigned int i;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
__disable_interrupt();
/* Read TCNT1 into i */
i = TCNT1;
/* Restore global interrupt flag */
SREG = sreg;
return i;
}
Vedere la pagina 108
1 2 ... 104 105 106 107 108 109 110 111 112 113 114 ... 374 375

Commenti su questo manuale

Nessun commento