В прожке закралась ошибка невнимательности...
Компилятор оные не распознает.
Устранено тут
собственно не подправлено было от старого двухбайтового значения апендикс.
Неверно(было):
void outdata()
{
// начинаем "продавливать" данные по цепочке регистров, начиная с последнего
shiftOut(dataPin, clockPin, LSBFIRST,
lowByte(H_data_buf));
// передаем последовательно на dataPin - в первом регистре значение B01001100
shiftOut(dataPin, clockPin, LSBFIRST,
highByte(L_data_buf));
// "продавливаем" данные в следующий регистр - в первом регистре B10000111,.....
а нужно (исправлено):
void outdata()
{
// начинаем "продавливать" данные по цепочке регистров, начиная с последнего
shiftOut(dataPin, clockPin, LSBFIRST,
H_data_buf);
// передаем последовательно на dataPin - в первом регистре значение B01001100
shiftOut(dataPin, clockPin, LSBFIRST,
L_data_buf);
// "продавливаем" данные в следующий регистр - в первом регистре B10000111,.....
Возможно еще некоторые "погрешности"/неоптимальности засели - это уже "на вылизывание" после которого можно начинающему совсем ничего не понять.
