O Timer1 é capaz de gerar alguns tipos de interrupção. Quando determinadas situações ocorrem, um bit é ligado no registrador TIFR1 - Timer 1 Interrupt Flag Register. Se o mesmo bit estiver ligado no registrador TIMSK1 (Timer 1 Interupt Mask Register), uma interrupção é gerada e o bit é automaticamente desligado no TIFR1.
São quatro possíveis motivos para gerar interrupção e cada um tem um "vetor" (endereço) separado.
Detalhando os quatro eventos possíveis:
- Timer overflow: ocorre quando o contador "dá a volta":
- Nos modos Normal e CTC (onde o contador é sempre incrementado) isto é quando o contador passa de 0xFFFF para zero.
- No modo "Fast PWM" (onde o contador também é sempre incrementado) o evento é quando o contador passa do valor máximo programado para zero.
- Nos modos "PWM Phase Correct e PWM Phase and Frequency Correct" (onde o contador conta de zero até o máximo programado e depois do máximo programado até zero, ver a parte 4) o evento é quando o contador é decrementado para zero.
- Input Capture: ocorre quando temos um evento de captura (ver a parte 3). Sinaliza que foi concluída uma medição pela unidade de captura.
- Output Compare (A e B): ocorrem quando o contador atinge o valor em OCR1A ou OCR1B.
Nenhum comentário:
Postar um comentário