Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Explicação da lógica de leitura de teclas para switch/case Empty Explicação da lógica de leitura de teclas para switch/case

Sáb Out 19, 2019 5:19 pm
Em vários exercícios de switch / case que usamos o teclado foi usado uma lógica que faz a leitura de tecla, rotação de bits e operação OU entre esses dados. Abaixo mais uma explicação para ajudar a entender como funciona.

tecla = ((!digitalRead(tecla4) << 4) | (!digitalRead(tecla3) << 3) | (!digitalRead(tecla2) << 2) | (!digitalRead(tecla1) << 1));

leitura sem acionar acionado
!digtalRead(tecla1)= 0b00000000 = 0b00000001 = <<1 = 0b00000010 ||
!digtalRead(tecla2)= 0b00000000 = 0b00000001 = <<2 = 0b00000000 ||
!digtalRead(tecla3)= 0b00000000 = 0b00000001 = <<3 = 0b00000000 ||
!digtalRead(tecla4)= 0b00000000 = 0b00000001 = <<4 = 0b00000000 ||
_______________________________________________________________________
________________________________________________________0b00000010

Mais sobre esse tema? Veja o que já postei.
https://roboticalivre.forumeiros.com/t871-exercicio-2-12-3-teclas-para-3-leds#2919
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos