Sanya_kv 0 October 23, 2017 Posted October 23, 2017 · Report post ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно Можно. Только если у второго дисплея будет свой графический контроллер. Quote Share this post Link to post Share on other sites More sharing options...
Шаманъ 0 October 23, 2017 Posted October 23, 2017 · Report post ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно Кроме варианта озвученного выше можно сильно извратиться и подключить пару одинаковых дисплеев (безконтроллерных) так, что каждая "четная" точка будет отображаться на первом, а каждая "нечетная" на втором, думаю все догадались как это сделать (да, потребуется немного внешней логики). Естественно возможны и вариации на тему (типа два дисплея с 12-ти битным цветом, тут хватит возможностей самого МК, внешняя логика не потребуется) и т.д. Только в чем смысл? Quote Share this post Link to post Share on other sites More sharing options...
mantech 7 October 23, 2017 Posted October 23, 2017 · Report post Можно. Только если у второго дисплея будет свой графический контроллер. Если в таком ключе, то можно и 2 и 3 подключить Quote Share this post Link to post Share on other sites More sharing options...
VCucumber 0 October 23, 2017 Posted October 23, 2017 · Report post каждая "четная" точка а dma2d по отдельности чётные-нечётные получится рисовать ? 12-ти битным цветом вообще не вариант Только в чем смысл? странный вопрос Quote Share this post Link to post Share on other sites More sharing options...
mantech 7 October 23, 2017 Posted October 23, 2017 · Report post а dma2d по отдельности чётные-нечётные получится рисовать ? вообще не вариант странный вопрос Вопрос действительно странный, ибо для этих целей есть другие мк с соотв. возможностями. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 51 October 24, 2017 Posted October 24, 2017 · Report post ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно Интерфейс SPI позволяет подключить не только второй, но и гораздо больше дисплеев без каких-либо проблем. И не только к STM. Quote Share this post Link to post Share on other sites More sharing options...
Шаманъ 0 October 25, 2017 Posted October 25, 2017 · Report post а dma2d по отдельности чётные-нечётные получится рисовать ? И да, и нет. В общем случае не позволяет, но некоторые вещи ускорить можно. Например, можно нарисовать горизонтальную линию, но не прямоугольник. Можно рисовать в буфер за пределами экрана с помощью DMA2D, потом им же можно перенести все в основной буфер одной операцией с учетом "шагания через одну точку". В таком варианте будет полноценное использование DMA2D. странный вопрос Ну я бы в случае если мне нужно было бы пару полноценных дисплеев поискал бы что-то другое (в первую очередь с бОльшей пропускной способностью подсистемы памяти), а если нужно маленький экранчик, так сказать в дополнение, так полно мелких дисплеев со своим контроллером. Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 25, 2017 Posted October 25, 2017 · Report post а dma2d по отдельности чётные-нечётные получится рисовать ? Лучше добавить немного логики, и сделать side by side. Но два экрана на STM - это изврат. По нынешним меркам ему вообще не нужен интерфейс к экрану, т.к. всякая мелочь цепляется через SPI/I2C, а для нормального экрана сам STM уже мелочь. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 51 October 25, 2017 Posted October 25, 2017 · Report post Можно рисовать в буфер за пределами экрана с помощью DMA2D, потом им же можно перенести все в основной буфер одной операцией с учетом "шагания через одну точку". В таком варианте будет полноценное использование DMA2D. А в чём выигрыш от рисования в видеобуфере с помощью DMA2D? Чем оно лучше чисто процессорного рисования? В моём текущем проекте на STM32F4 отрисовка в видеобуфер делается процессором. Имеет ли смысл как-то задействовать сюда DMA2D? Видеобуфер у меня просто во внутренней памяти МК, без привязки к железу. Наиболее частые операции у меня: Рисование разных шрифтов с наложением OR поверх другого изображения (однотонного) с отсечением по границам экрана или по границам произвольной прямоугольной области. И рисование закрашенных прямоугольников. Тоже с отсечением. И разными цветами. 16 цветов. Quote Share this post Link to post Share on other sites More sharing options...
Шаманъ 0 October 25, 2017 Posted October 25, 2017 (edited) · Report post А в чём выигрыш от рисования в видеобуфере с помощью DMA2D? Чем оно лучше чисто процессорного рисования? На многих операциях через DMA2D быстрее, а даже если не быстрее рисование выполняется параллельно с работой ЦП. Т.е. нагрузка на ЦП уменьшается в любом случае (ну конечно если не выводить через DMA2D по одной точке :)). В моём текущем проекте на STM32F4 отрисовка в видеобуфер делается процессором. Имеет ли смысл как-то задействовать сюда DMA2D? Зависит от того, что рисуется и чем Вас не устраивает нынешний вариант. В общем случае с DMA2D должно получиться более быстрое рисование и разгрузка процессора - если это интересно, то используйте DMA2D. Я почти все делаю через DMA2D.Рисование через DMA2D было всегда быстрее, за исключением одной очень специфической операции (которая в итоге была реализована напрямую) - с ней разницы по времени не было, но напрямую было проще. Наиболее частые операции у меня: Рисование разных шрифтов с наложением OR поверх другого изображения (однотонного) с отсечением по границам экрана или по границам произвольной прямоугольной области. И рисование закрашенных прямоугольников. Тоже с отсечением. И разными цветами. 16 цветов. Это все можно легко сделать через DMA2D. На маленьком дисплее, правда выигрыш будет наверное не очень большой. Edited October 25, 2017 by Шаманъ Quote Share this post Link to post Share on other sites More sharing options...
VCucumber 0 October 25, 2017 Posted October 25, 2017 · Report post Лучше добавить немного логики, и сделать side by side если добавлять, то можно добавить много, просто не понятно, как сделать side by side на логике ? вот если бы горизонтальное поле дисплей позволял увеличить в пару раз, тогда да или то же самое по вертикали но не позволяет можно нарисовать горизонтальную линию, но не прямоугольник можете привести пример ? или какое поле нужно заполнить в структуре DMA2D_InitTypeDef чтобы нарисовать горизонтальную линию точками ? Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 25, 2017 Posted October 25, 2017 · Report post если добавлять, то можно добавить много, просто не понятно, как сделать side by side на логике ? Маскировать CLK и DE на половину строки, если допуск по частоте CLK дисплея позволяет. Если нет, тогда "много логики" - буфер на строку. Quote Share this post Link to post Share on other sites More sharing options...
VCucumber 0 October 25, 2017 Posted October 25, 2017 (edited) · Report post есть другие мк с соотв. возможностями. stm32 - хороший вариант микроконтроллера, одновременно с производительностью первых пентиумов, на которые никто вообще-то не жаловался вплоть до 1280x1024 Маскировать CLK и DE на половину строки, если допуск по частоте CLK дисплея позволяет. вот первый попавшийся дисплей https://www.waveshare.com/w/upload/4/44/4.3...-UserManual.pdf 605 vs 480 или 399 vs 272 - ни в то, ни в то второй дисплей не входит Если нет, тогда "много логики" - буфер на строку. это как раз понятно Edited October 25, 2017 by Огурцов Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 25, 2017 Posted October 25, 2017 · Report post 605 vs 480 или 399 vs 272 - ни в то, ни в то второй дисплей не входит Маскировать CLK и DE на половину строки stm32 - хороший вариант микроконтроллера, одновременно с производительностью первых пентиумов, на которые никто вообще-то не жаловался вплоть до 1280x1024 В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек. Quote Share this post Link to post Share on other sites More sharing options...
VCucumber 0 October 25, 2017 Posted October 25, 2017 (edited) · Report post Маскировать CLK и DE на половину строки не, а такое прокатит ? в смысле прерывать подачу клока В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек. и кто придумал этот must have ? если даже spi в качестве интерфейса не гнушаются предлагать Edited October 25, 2017 by Огурцов Quote Share this post Link to post Share on other sites More sharing options...