Сдвиговый регистр. Помогите увеличить входы.
- Войдите на сайт для отправки комментариев
Пт, 17/07/2015 - 18:20
#define O_DATA 11 //DATA for output #define O_LATCH 10 //ST_CP for output #define O_CLOCK 9 //SH_CP for output #define CLKUS 1 byte dataInput; void setup() { pinMode(O_DATA,INPUT); pinMode(O_LATCH,OUTPUT); pinMode(O_CLOCK,OUTPUT); Serial.begin(9600); } void loop() { registerRead(dataInput); Serial.println("-------------"); delay(2000); } void registerRead(byte data) { dataInput = 0; digitalWrite(O_LATCH,HIGH); for (int i=7; i>=0; i--){ digitalWrite(O_CLOCK,HIGH); delayMicroseconds(CLKUS); data |= (digitalRead(O_DATA) ? (1<<i) : 0); delayMicroseconds(CLKUS); digitalWrite(O_CLOCK,LOW); if (i==7) digitalWrite(O_LATCH,LOW); // Serial Mode Serial.print (i); Serial.print ("="); Serial.print (data, BIN); Serial.println(""); delay(1000); } }
Q0 и Q1 зацепил на 3,3 вольта (HIGH), т.е. хотя бы два бита "1" должны стоять рядом
Монитор выдает такую билиберду:
1 - проанализировать билиберду и понять чё не так
2 - проанализировать весь код и понять чё не так
т.е. для Вас все предельно ясно и Вы призываете меня пораскинуть мозгами? Я уже сломал мозг :-) Или просто обозначаете алгоргоритм моих дальнейших действий?
я и не вникал в код :(
да , второе...
вы не прописали - данные откудова и куда идут ?
Q0 и Q1 зацепил на 3,3 вольта (HIGH
это про чё ?
Входы Q0 и Q1 микросхемы 74HC597 соеденил с лог. Единицей (3,3в), типа кнопка нажата, а остальные висят.
Нет больше мыслей? Что я делаю не так?
barabus, этот скетч от HC597 ? Вот тут есть тоже пример для этого чипа, и там ещё фигурирует сигнал паралельной загрузки, которого в этом скетче я не вижу..
Да, в качестве сдвигового регистра используется 74HC597.. Информации с примерами кода для этого чипа крайне мало. Вечерком попробую использовать пин параллельной загрузки. О результатах отпишусь.
Информации с примерами кода для этого чипа крайне мало.
...но есть много примеров для 74HC595 , а он с 74HC597 - зеркальный брат
переделать код записи в 595 в код опроса 597 - довольно просто :)