Arduino + ЖКИ от «Миника 1101Ф»

MEINFRAME
Offline
Зарегистрирован: 12.09.2015

Добрый день. Вот решил замутить такое, только на ардуино. Но что-то не получается.
https://geektimes.ru/post/257608/

 

const int CLK=8;
const int DATA=7;
const int W1=2;
const int W2=3;


void setup() {
  pinMode(CLK, OUTPUT);
  pinMode(DATA, OUTPUT);
  pinMode(W1, OUTPUT);
  pinMode(W2, OUTPUT); // обозначили выходы
digitalWrite(W1, HIGH);  
digitalWrite(W2, HIGH);  
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0x70);
digitalWrite(W1, LOW);
digitalWrite(W2, LOW);
digitalWrite(W2, HIGH);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0);
shiftOut(DATA, CLK, MSBFIRST, 0x80);
digitalWrite(W1, HIGH);  
digitalWrite(W2, HIGH);


digitalWrite(W1, LOW);
digitalWrite(W2, HIGH);
shiftOut(DATA, CLK, MSBFIRST, B11111111);
shiftOut(DATA, CLK, MSBFIRST, B11111111);
shiftOut(DATA, CLK, MSBFIRST, B11111111);
shiftOut(DATA, CLK, MSBFIRST, B11111111);
shiftOut(DATA, CLK, MSBFIRST, B11111000);
digitalWrite(W1, LOW); 

}

Пустой экран. Может как-то не так провожу инициализацию, пробовал наоборот(с иверсией у автора не могу понять)?!

MEINFRAME
Offline
Зарегистрирован: 12.09.2015

Разобрался! Отрубил блок "не" к чертям и всё заработало. Видимо, дело в том, что тактовый сигнал тоже был инверсным. А можно как-то сказать функции shiftOut, что CLK она должна выдовать инверсной? Хотелось бы сохранить "не" и чисто для себя узнать как это делается правильно!