Ir ao conteúdo

Posts recomendados

Postado

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.

 

  • Membro VIP
Postado

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)

Postado

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

Visitante
Este tópico está impedido de receber 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!