×
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

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Curso de Hacker Ético

LANÇAMENTO!

CLIQUE AQUI E CONFIRA!

* Este curso não é ministrado pela equipe do Clube do Hardware.