To com algumas dificuldades em entender a Multiplexação,Gostaria que de saber se minha interpretação está correta
Achei esse Código num Blog
// Entrada desejada
int count = 3;
// Extração dos bits ativos
byte s0 = count & 0x1;
byte s1 = (count >> 1) & 0x1;
byte s2 = (count >> 2) & 0x1;
// Ligando ou desligando os pinos de seleção
digitalWrite(2, s0);
digitalWrite(3, s1);
digitalWrite(4, s2);
Sendo 5 =101 em binario, pergunta 1. se count=5 então:
byte s0 = 101 &0x1 ...o resultado;
101
& 1
--------
1 ou seja s0 = HIGH
byte s1 = (101>>1)&0x1 -> 10& 0x1
10
& 1
-------
0 ou seja s1=LOW
byte s2 = (101>>2)&0x1 -> 1& 0x1
1
& 1
------
1 ou seja s2=HIGH
s0=HIGH,s1=LOW,s2=HIGH = porta 5 do 4051 né ?
>./p>
Tags:
Ele está pegando os três primeiros bits do count, mas é uma solução mais didática do que prática, para mostrar o uso do operador de deslocamento de bits.
Mais fácil seria:
// Entrada desejada
int count = 3;
// Ligando ou desligando os pinos de seleção
digitalWrite(2, bitRead(count, 0)); // Le o bit 0 de count
digitalWrite(3, bitRead(count, 1)); // Le o bit 1 de count
digitalWrite(4, bitRead(count, 2)); // Le o bit 2 de count
Só fico na dúvida de qual das soluções envolveria mais ciclos de processamento...
Agora a multiplexação é isso, o 4051 é um mux/demux analógico, quando você endereça 101 então a entrada/saída 5 (pino 5 do 4051) com o entrada/saída "comum" (pino 3 do 4051)
Marcelo, tudo bem?
Esse código que você marcou funciona para um CI ou simplesmente linhas de código que multiplexam?
Estou trabalhando com I2C e ele só envia um dado por vez, porém preciso enviar 5, queria saber como multiplexar por linhas de código
como faço pra usar como mux e para usar como demux .Como o circuito sabe que em dado momento é mux e em outro demux?
Ele é ambos ao mesmo tempo, é como se você tivesse um monte de interruptores lá dentro do chip, ele não distingue para que lado vai o sinal.
Exatamente como o Marcelo disse. Ele tem transistores que fecham o circuito para os 2 lados ao mesmo tempo.
Só não é mais parecido com uma chave comultadora pq fica uma resistencia (vide valor no manual, varia).
Também vc não pode querer passar sinais inferiores a GND ou superiores a VCC.
Pode ser MUX se vc ligar como MUX ou DEMUX se vc ligar como DEMUX.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por