Ir ao conteúdo

Vitor Cordeiro Lopes

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá amigo, já faz muito tempo, mas vamos lá, bem, logo no começo do código, se estabelece uma interrupção externa na borda de descida. E se você prestar atenção na onda gerada pelos dois sinais do encoder, logo depois de uma mudança de estado lógico de um sinal, por exemplo, A indo pra LOW, se B estiver também em LOW nesse instante, quer dizer que o encoder está girando pra um sentido, mas se estiver em HIGH quer dizer que esta girando no outro. O mesmo vale pra uma subida, e para o sinal B. Aplicando isso pra esse código, temos que ele só vai fazer o teste quando ou houver uma interrupção, porque o teste if está dentro da função que é chamada pela interrupção, e está é causada pela borda de descida, logo o teste será feito logo após a borda de descida ocorrer, então se os estados lógico estiverem iguais: um sentido de rotação. Se diferentes: sentido oposto.Entendeu? valeu. Abraços.

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