Ir ao conteúdo
  • Cadastre-se

Tratamento de interrupção de timer


robsontlls

Posts recomendados

Ola pessoal

Estou com uma duvida

É o seguinte estou fazendo um cronometro, e fiz com o timer1 uma interrupção a cada 1 segundo, para gerar o pulso do meu cronometro, e com o timer0 fiz pulso de 1 Khz para fazer seleção de display de 7 segmentos (são 4 display), o que acontece, não posso fazer a função seleção do display dentro da interrupção, a interrupção serve a apenas para sinalizar com uma flag e dai eu tomar uma ação, então esta acontecendo o seguinte:

Void interrupt(){                // Interrupção
if (tmr1if.pir1 == 1){ // Timer1 estourou?
tmr1_aux = 1; // Flag de definição de interrupção timer 1
}

if (tmr0.intcon == 1){ // Timer0 Estourou?
tmr0_aux = 1; // Flag de definição interrupção timer0
}
}




void main {

void trata_tmr1() {
...........
..........
..........
Tmr1_aux = 0; // Desabilito Flag da interrupção timer 1
}


void trata_tmr0(){
...........
...........
...........
Tmr0_aux = 0; //Desabilito Flag da interrupção timer0

}

while (1) {

if (bt_start){
.........
}

if (bt_stop) {
.......
}
}

Então é o seguinte quando estou no laço WHILE, e estoura o timer1 por exemplo, ele vai para a interrupção e habilita a flag para ser tratada pelo void main, porém quando retorna, ele tem que finalizar o laço o while para depois de terminar tudo, voutar no inicio e ai sim atualizar meu pulso que era para ser 1s, e não esta sendo por causa desse delay, porém nao posso tratar o tmr1 dentro da interrupção gostaria de saber o porque? e por favor uma ajuda para tentar resolver esse problema

estou utilizando PIC16f877A e estou compilando em MikroC, porém compilador nao interesse o que interessa é a logica

Please me ajudem

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!