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>

Exibições: 918

Responder esta

Respostas a este tópico

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço