Ir ao conteúdo
  • Cadastre-se
Lucas Marques_716659

Duvida: Interrupções RCIF e Timer2

Recommended Posts

Bom gostaria de saber se é possivel criar um sistema de timeout usando o timer2, tipo o micro recebeu o dado( interrupção RCIF) ele inicia o timer e gera o estouro (sinaliza uma flag de timeout)  se caso não receber o byte de final de linha ('\n') .

Tipo seria  feito o desvio quando ocorre  a primeira interrupção(RCIF) e só retornaria pro main se recebece o byte '\n' ou se ocorrece o timeout.

A ideia seria usar o timer2 para gerar o timeout. qualquer ajuda é de grande valia.

desde já agradeço.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho certeza absoluta mas acho que o timer2 é usado pro baudrate confere? Se sim vai complicar a cabecinha do mc. você pode usar outro timer tipo o 0

Enquanto isso , na sua rotina de recebimento (sem interrupt)...

timer0 rodando... claro

unsigned char recebe(void){RCREG=0;TIMER0=128;//p.ex.while(!RCIF && TIMER0);return RCREG;}

Com relação ao /n ... pensa...não to podendo pensar agora (se é que algum dia pude)

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela dica vou estudar e ver como prossigo, o problema é que tem outras interrupções, e isso ta me dando um nó na ideia, pois o timer1 já esta sendo usado e eu estava deixando o timer0 para mudanças futuras, mas acho que vou ter que usa-lo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×