AVR по 2048 байт RAM.
чтение из памяти и вывод в порт - это 3 такта - для одной ардуины.
для двух ардуин - в два раза меньше))
для трёх ардуин - в три раза меньше)) - это 1 такт
"подводные камни"...
если мы будем использовать аппаратный таймер для синхронизации... а писать строку в прерывании этого таймера... и при этом писать бесконтрольно на С++... не контролируя такты...

)) то у нас будет картинка "дрожать"... потому что процессор может быть в этот момент занят выполнением других инструкций...
об этом писали выше...
это есть в даташите...
разберём подробней...
1. первый вариант событий))
процессор не занят))
-таймер тикает... на вершине поднялся влаг TOV... на следующем такте мы ушли в прерывание... в прерывании пишем строку... выводим на экран...
всё хорошо))
2. второй вариант событий))
процессор занят))
-таймер тикает... на вершине поднялся влаг TOV... на следующем такте мы... ждём пока процессор закончит выполнять двух тактную инструкцию... и только потом ушли в прерывание... в прерывании пишем строку... выводим на экран...
в итоге у нас картинка сместилась на целый пиксеть !
а какие у нас вообще есть инструкции в AVR ?
самая большая инструкция в AVR это работа со стеками... занимает 4 такта...
но это работа со стеками...
а реально самая большая инструкция в "нормальном состоянии" занимает 3 такта...
значит... максимум как далеко может уехать наша картинка - это 3 такта... или 3 пикселя))
это всё при условии что нет других прерываний...
Итого:
если мы всё правильно прикинули... то у нас картинка будет дрожать... т.е. ездить туда-сюда на три пикселя... в каждой строке... и ещё в каждом кадре))
других подводных камней я пока не обнаружил))
замечательно))
3. третий вариант событий))
процессор занят))
НО если мы будем использовать программный таймер для синхронизации... и писать строку и синхроимпульсы в прерывании этого таймера... и при этом писать бесконтрольно на С++... то по идеи... у нас НЕ будет картинка "дрожать"... потому что вместе со строкой будут дрожать и синхроимпульсы... а монитор сам будет подстраиваться по синхроимпульсы...
скорее всего поэтому у
TovarishAleksey ничего не дрожит...
главное что бы монитору не стало плохо))
