Не выходит запустить устрйство.
Нужно именно этот сдвиговый регистр ( 74HC165 Не подойдет по контактам в готовой плате)
Схема вот:
Код программы
Код: Выделить всё
const int dataPin = PC0; // Q7
const int clockPin = PC2; // CP
const int loadPin = PC3; // PL#
const int mrPin = PC1; // MR#
const int numBits = 8; // 8 бит = один регистр
void setup() {
Serial.begin(115200);
pinMode(dataPin, INPUT);
pinMode(clockPin, OUTPUT);
pinMode(loadPin, OUTPUT);
pinMode(mrPin, OUTPUT);
// Инициализация
digitalWrite(clockPin, LOW);
digitalWrite(loadPin, HIGH);
digitalWrite(mrPin, HIGH); // не сбрасываем
}
void loop() {
// --- Сброс регистра (если нужно) ---
digitalWrite(mrPin, LOW);
delayMicroseconds(5);
digitalWrite(mrPin, HIGH);
// --- Захватываем входы ---
digitalWrite(loadPin, LOW); // разрешаем параллельную загрузку
delayMicroseconds(5);
digitalWrite(loadPin, HIGH); // фиксируем данные
delayMicroseconds(5);
// --- Считываем последовательные данные ---
Serial.print("Bits: ");
for (int i = 0; i < numBits; i++) {
int bit = digitalRead(dataPin);
Serial.print(bit ? '1' : '0');
// тактовый импульс
digitalWrite(clockPin, HIGH);
delayMicroseconds(2);
digitalWrite(clockPin, LOW);
delayMicroseconds(2);
}
Serial.println();
delay(1000);
}
очень прошу помогите, что я не так делаю?


