Ir ao conteúdo
  • Cadastre-se

Mikroc - Interrupção


mycontato

Posts recomendados

Pessoal, estou uma grande dúvida.

Eu nunca utilizei interrupção e queria aprender, vamos lá:

Eu queria fazer o seguinte:

Estou utilizando o microcontrolador 18F452 e o mikroc como compilador.

Eu tenho uma rotina chamada teste()

E outra chamada leitura()

Eu queria que a cada 200 milisegundos fosse invertido, entre a execução do que esta dentro da rotina leitura() e do que esta dentro rotina teste().

Exemplo:

Executando teste()

200 milisegundos

Executando leitura()

200 milisegundos

Executando teste()

etc....

Tem como fazer isso, com interrupções ??? como fazer ??? Me ajudem, please.

Desde já, muito obrigado:

Link para o comentário
Compartilhar em outros sites

Entendi seu raciocinio, voce quer que ele fique revesando a execução das rotinas a cada 200mS certo, então por interrupção da sim, voce pode usar a interrupção do TmR0 por exemplo e setar para que ele estoure a cada 200mS (claro que fazer ele estourar a 200mS é desperdicio de processamnto) oou mais rápido, voce ganha velocidade de processamento com isso,

consulte o datasheet pra entender bem como funciona uma interrupção por timer!

abs.

Link para o comentário
Compartilhar em outros sites

você não poderia utilizar delays comums?


while(// enquanto você quiser que esse bloco seja executado)
teste(); // função teste
delay_ms(200); // delay 200ms
leitura(); // função leitura
delay_ms(200); // este ultimo delay serve para que começe do inicio infinitamente
}

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

você não poderia utilizar delays comums?

Código:

while(// enquanto você quiser que esse bloco seja executado)

teste(); // função teste

delay_ms(200); // delay 200ms

leitura(); // função leitura

delay_ms(200); // este ultimo delay serve para que começe do inicio infinitamente

}

espero ter ajudado.

Acho que voce não entendeu amigo Angelo, o que ele quer é que de tempos em tempos o conteudo das rotinas sejam executados alrternadamente, ou seja executa um pouco da rotina 1 por 200mS depois um pouco da rotina2 por 200 mS, e assim vai.

abs.

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...