Решил немного поизвращаться над адресными светодиодами, а именно - работа с ними напрямую. Немного не понял даташит. Есть в нём два тиких рисуночка Что-то я в этой диаграмме запутался. Оно работает как сдвиговый регистр? Или первые 24 бита запишутся в первый светодиод, вторые во второй и третьи в третий?
В сдвиговом регистре было-бы наоборот. Первая пачка сначала упала-бы в первый светодиод. Вторая пачка вытолкнула-бы первую во второй а сама осталась-бы в первом и т.д.
Значит я правильно понял, светодиод сначала запиминает свою пачку из 3 байт а следующую пропускает дальше.
именно так. Пауза низкого уровня может меняться в широких пределах, высокий уровень необходимо соблюдать точнее.
Верно! Первый светодиод "откусывает" свои первые 24 бита, остальное отдаёт следующему... и так далее. Последний светодиод ничего не отдаёт... своего рода проверка... вдруг последний что-то выдал - значит что-то не то.
Я засылаю посылку в 30 байт, а светодиодов в последовательной линейке всего 5. Что будет делать последний светодиод? Правильно - лишние 15 байт он выставит на пине OUT. Поэтому утверждение не верно.
Если послать "пачек" по 3 байта больше чем светодиодов в цепочке то на DOUT оследнего сигнал будет. Но принимать его будет некому.
В принципе, если сигнал с последнего светодиода завернуть обратно в МК, то можно: 1. Контролировать прохождение сигнала 2. Вычислять количество светодиодов в ленте.
Это что-то не то. Верно? А что не верно? 5 * 3 = 15 байт "съели" эти 5 светодиодов... остальные отданы дальше. Где несоответствие? Кстати: Это полная глупость... ну или хвостозадирательство
А капризная штука однако. При передаче нуля нужен положительный импульс в 0,4 мкс. При 16 МГц это 6,4 такта. На 6 и 7 не заработало. Уменьшил до 5 - пошло.