Страница 1 из 1

Зависание max7219

Добавлено: 05.03.2017{, 18:16}
OlegAn1962
Приветствую всех, столкнулся с проблемой зависания max 7219 при включении мощной нагрузки. При этом либо все восемь сегментов показывают восьмерки, либо отдельные сегменты не светятся. Сама ардуинка не зависает, конденсаторы на силовых реле стоят. Проблема точно такая, как описано в этой теме. В качестве решения там предложено следующее: " Решилось прописыванием инициализации всех-всех регистров max7219 не только на стартапе МК, но и на каждом цикле основной программы.
Сегменты перекашивает, но они тут же исправляются, что меня вполне устраивает."  
   Так вот вопрос, никто не может написать такой блок инициализации для флпрог, а то я с кодами не очень?

Зависание max7219

Добавлено: 09.03.2017{, 21:52}
OlegAn1962
Методом тыка выяснил следующее:
если скопировать строчки : 
_max7219BusP12P23P34.shutdown(0, false);
_max7219BusP12P23P34.setIntensity(0, 8);
_max7219BusP12P23P34.clearDisplay(0);

из секции void setup() в секцию void loop() в место расположения блока max7219 , то все работает отлично, зависания прекратились. Попробовал сделать блок, скопировав в секцию loop указанные выше строки. С данным конкретным проектом скомпилировалось как надо, но при попытке вставить этот блок в другой проект компилятор ругается, т. к. в другом проекте переменная _max7219Bus имеет другое обозначение. Как сделать такой блок универсальным ?

Зависание max7219

Добавлено: 09.03.2017{, 22:09}
Boroda
OlegAn1962, я уже думал об этом, для каждого проекта нужен свой блок. Тут только Сергей (Автор) поможет. Попросить его, чтоб сделал у блока ногу инициализации.

Зависание max7219

Добавлено: 09.03.2017{, 23:41}
OlegAn1962
Boroda, ясно, прийдется пока ручками.