Comments 2
В момент запуска микроконтроллера в первом отображаемом кадре вся информация верна, при отображении последующих кадров, arduino куда-то съедает несколько каналов.
Самое очевидное — вывод на дисплей занимает слишком много времени и начинаются потери фреймов.
В первый раз собирается полный фрейм и успешно выводится, а потом идут потери.
Для проверки можно попробовать в основном цикле дважды вызывать
printLevel (outAr); // Вывод значений на дисплей
Если и тут начнутся потери, то получаем явный конфликт по таймингу библиотеки DMX_Slave и функции вывода данных.
Уж не знаю как именно работает DMX_Slave (использует ли она прерывания или отрабатывает по завершении каждого цикла void loop()), но можно попробовать начать с вывода за один цикл не более 16 значений (т.е. на 40 строчный дисплей данные будут выводиться за 3 цикла loop()).
0
Sign up to leave a comment.
DMX-512 Визуализация передаваемых уровней каналов