Чтением нужного бита. Или нужны байты?
Сделал по фэн-шую, завтра уберу. Вход разрешения тактовых импульсов.
Код: Выделить всё
setup......
pinMode(PL_pin,OUTPUT);
pinMode(Clock_pin,OUTPUT);
pinMode(Q7_pin,INPUT);
digitalWrite(Q7_pin, HIGH); //подключаем подтягивающий резистор
loop.......
byte Q1 = 0;
byte Q2 = 0;
byte Q3 = 0;
byte Q4 = 0;
digitalWrite(PL_pin,HIGH);
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q1 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q2 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q3 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
for (int i=7; i>=0; i--) {
digitalWrite(Clock_pin,LOW);
delayMicroseconds(1);
Q4 |= (digitalRead(Q7_pin) ? (1<<i) : 0);
digitalWrite(Clock_pin,HIGH);
delayMicroseconds(1);
}
digitalWrite(PL_pin,LOW);
Q1 = Q1 ^ ((B11<<8) | (B00000000)) ; // инвертировать побитно байт (0 - нет инверсии, 1 - инвертировать)
Q2 = Q2 ^ ((B11<<8) | (B00000000)) ;
Q3 = Q3 ^ ((B11<<8) | (B00000000)) ;
Q4 = Q4 ^ ((B11<<8) | (B00000000)) ;
-не понял, что это значит.
Никаких.