ViKo 1 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба Имею контроллер ЖКИ S1D13706 с внутренней памятью 80KB, подключенный к контроллеру STM32. ЖКИ - 320x240, 8-битовый цвет, как раз на всю память контроллера ЖКИ. Нужно, чтобы изображение плавно перемещалось по экрану. Если просто стереть, а потом нарисовать на новом месте, появляется мерцание, когда выводится стертый экран. Примерно, как полосы на экране телевизора, когда его показывают в кино. Можно формировать изображение в отдельном буфере во внешнем ОЗУ, а потом переписывать его в контроллер ЖКИ по DMA. Можно в самом контроллере пожертвовать цветностью в до 4 битов на пиксел, сделать два буфера, формировать изображение в одном, выводить из другого, чередовать их. Еще попробовал стирать экран в "мертвое время", когда выводятся строки за пределами экрана. Довел их до максимального количества (280), но все равно не хватает, хотя характер мерцаний уже другой - просто темнеет картинка. Есть ли еще способы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба Можно формировать изображение в отдельном буфере во внешнем ОЗУ, а потом переписывать его в контроллер ЖКИ по DMA. Это, пожалуй, самый правильный вариант. Заодно и некоторый уровень абстракции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба а я ещё рисовал на новом месте, а потом стирал на старом. за движущимися объектами получается небольшой шлейф, но зато без мерцания ) но DMA это конечно правильнее, да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 февраля, 2011 Опубликовано 3 февраля, 2011 · Жалоба Отдельный буфер - согласен, правильное решение. Но больно уж дорогое. Рисовать, а потом стирать - не получается, новое и старое изображения перекрываются. Стирая старое, новое частично испортится. Думаю попробовать рисовать по частям - столбик старого стер, столбик нового нарисовал. Только трахаться с переключениями придется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 3 февраля, 2011 Опубликовано 3 февраля, 2011 · Жалоба Правильно это сначала стирать старое движущееся изображение, а затем выводить новое. Но без синхронизации с "ходом луча" дисплея всё равно так или иначе будет фликер. Как подсказали, формировать готовую картинку в буферном ОЗУ, а затем полностью перекидывать весь кадр на дисплей даст более менее приемлимый результат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 февраля, 2011 Опубликовано 17 февраля, 2011 · Жалоба Сделал буфер во внешней памяти. Можно сказать, результат устраивает. Кое-что интересное предлагаю посмотреть здесь http://electronix.ru/forum/index.php?showt...st&p=886168 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться