... в общем немного разобрался с частотами. теперь возвращаюсь к другой проблеме. Либа TimerOne конфликтует с моим сдвиговым регистром подключенным по SPI.
Настриаваю таймер как в примере этой темЫ:
Код:
|
...
Timer1.initialize(10000); // Инициализируем прерывания по таймеру для вывода данных на дисплей
Timer1.attachInterrupt(Timer1_action);
... |
далее пишу:
после этого конечно же таймер не срабатывает!
если
написать перед определение таймера, то не работает передача в сдвиговый регистр.
Из описания либы TimerOne - "После инициализации пины 9 и 10 на Arduino (11 и 12 на Arduino Mega) смогут использоваться библиотекой для ШИМ, но остановится analogWrite()’овская ШИМ на этих пинах, если таковая была задействована до вызова initialize(). Пока работаете с библиотекой TimerOne, для перечисленных выше пинов analogWrite() не вызывайте, и наоборот." Но я их не использую - хотя вроде 10 пин используется для SPI. Но у меня Регистр подключен на 13, 11 и 8 пины. (по схеме которую ранее выкладывал)
Как поступить в данной ситуации? Что предпринять? как запустить таймер в которм надо отрисовать столбики с частотами.
Потому что щас это делаю очень тупо... в самом конце loop() просто беру и в цикле отрисовываю 10 столбиков сo значениями v[i]. Понятное дело - пока все посчитается до следующего отрисовывания - короче мерцает сильно матрица.
...попоже попробую другую реализацию управления регистром, может поможет.