Rainbow-electronics ATmega64L Manuel d'utilisateur Page 87

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 298
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 86
87
ATmega16(L)
2466B09/01
The following code examples show how to do an atomic read of the TCNT1 register con-
tents. Reading any of the OCR1A/B or ICR1 registers can be done by using the same
principle.
Note: 1. The example code assumes that the part specific header file is included.
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 */
_CLI();
/* Read TCNT1 into i */
i = TCNT1;
/* Restore global interrupt flag */
SREG = sreg;
return i;
}
Vue de la page 86
1 2 ... 82 83 84 85 86 87 88 89 90 91 92 ... 297 298

Commentaires sur ces manuels

Pas de commentaire