248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231

STM32F103C8T6 и дисплей ST7735

02.09.2022, 13:07. Показов 3716. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывожу график на дисплей, размер окна графика 140х50 = 7000 точек. Сам дисплей 160х128 точек. Сначала - подложку, затем оси, курсоры в виде вертикальных линий, которые постоянно изменяют своё положение, точки графика в виде квадратиков и сам график, соединяющий точки. Точек не более 16. В общей сложности количество выводимых точек, помимо подложки, составляет не более 5% от всего окна. Перерисовывать приходиться не менее 4 раз в секунду. Всё работает даже при большей частоте вывода (10 Гц), но при перерисовке происходит раздражающее мигание. Попробовал другие более скоростные варианты программ вывода, но ничего принципиально не изменилось.
Тогда решил попробовать вариант создания массива результирующей картинки uint16_t img[7000] с тем, чтобы окно, выделенное под график, заполнять не последовательно разными объектами, а одной картинкой. Но такой объём памяти не устраивает Keil, понятно, что ресурсов STM32F103C8T6 не хватает.
Сейчас обдумываю вариант без перерисовки фона, но каждый объект проходить два раза. Сначала с цветом фона с целью замазать рассматриваемый объект, а затем с нужным цветом и текущим его расположением.
Знатоки, что можете посоветовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2022, 13:07
Ответы с готовыми решениями:

ST7735 + STM32
Доброго времени суток :) Помогите,пожалуйста, разобраться с datasheet контроллера ST7735 (дисплей 1.44 tft 128x128) Посмотрел у других...

STM32F4Discovery + дисплейчик ST7735
Привет всем. Попал тут ко мне дисплейчик - http://www.ebay.com/itm/1-8-TFT-LCD-mod ... 1277wt_934 Нашёл проект уважаемого ВитГа -...

STM32F103 + ST7735 + STemWin
Всем здравия. Подскажите пожалуйста с чего начать подключать STemWin? Мануал помогает как-то плохо (пока). Готовый пример на дисковери...

35
Windows must die
613 / 885 / 105
Регистрация: 23.11.2021
Сообщений: 5,196
Записей в блоге: 19
07.09.2022, 23:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от VladimirU Посмотреть сообщение
Чтобы твой код резко заработал на благо бизнеса.
А потом кого-нибудь убило нахрен?
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
08.09.2022, 06:39
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Может, чего и упустил
посмотрел, у меня в принципе такая же инициализация

паузы так же по 10 мс, делитель 2 на f407
разница только в позиционировании comm: 0x36, data: 0x1C

так что проблема не в последовательности инициализации...

Добавлено через 1 минуту
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Ох уж эта молодежь…
не понял что вас напрягло.. последовательность инициализации дисплея 5 байт... какой нафиг массив ?
вы на создание и обработку массива потратите столько же ресурсов сколько и на отправку 5 байт так как сделал этот автор...
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,081
08.09.2022, 09:56
Цитата Сообщение от VladimirU Посмотреть сообщение
Зачем копипастить
Что бы твой код резко заработал на благо бизнеса.
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Нормально запускается процентов 70. Иначе приходиться перестартовывать иногда и не один раз.
Вы вот это называете "на благо бизнеса"? Или может когда Ардуину пихают в управление лифтом?
Цитата Сообщение от Eddy_Em Посмотреть сообщение
А не бывает в массив все это запихать и спокойно в цикле инициализацию выполнить?
Далеко не всегда это даст выигрыш. Скажем, у многих дисплеев надо дергать линию data/command, ее в массив пихать себе дороже. Но даже без этого по объему много не выиграете, по скорости тем более.
0
Windows must die
613 / 885 / 105
Регистрация: 23.11.2021
Сообщений: 5,196
Записей в блоге: 19
08.09.2022, 10:34
COKPOWEHEU, помню, баловался с какими-то дисплеем, туда с полсотни команд надо было отправить, и тоже ногой data туда-сюда дрыгать. Сделал структуру из пары байт, первый - данные, второй - флаги и задержки. Все компактно и места меньше занимает
0
08.09.2022, 12:20

Не по теме:

Ужас, извращение-то какое!

0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 940
Записей в блоге: 17
08.09.2022, 16:08
Цитата Сообщение от Eddy_Em Посмотреть сообщение
помню, баловался с какими-то дисплеем, туда с полсотни команд надо было отправить, и тоже ногой data туда-сюда дрыгать. Сделал структуру из пары байт, первый - данные, второй - флаги и задержки. Все компактно и места меньше занимает
ну так то с полсотни.. а тут 5 байт....
0
Windows must die
613 / 885 / 105
Регистрация: 23.11.2021
Сообщений: 5,196
Записей в блоге: 19
08.09.2022, 23:07
Цитата Сообщение от ВитГо Посмотреть сообщение
а тут 5 байт....
И все равно адов спагетти-код!
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,081
09.09.2022, 10:52
Для вас три последовательные команды уже "адов спагетти-код"? Если что "спагетти" так называется из-за хаотичных переходов в разные части программы, которых тут нет. А тут вполне вменяемые имена функций, логичное расположение. Попытка заменить на массив наверняка ухудшит читаемость или возможность модификации. Да хотя бы задержку в нужное место будет не добавить.
0
248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231
09.09.2022, 12:08  [ТС]
Цитата Сообщение от Eddy_Em Посмотреть сообщение
И все равно адов спагетти-код!
Для Вас, с Ваших небес, это и спагетти код, а я, земляной червь в этих делах, даже не знаю, что это такое. Для меня это возможность хоть как то начать свои эксперименты, которые приходиться делать мне одному, и в которых данная программа для STM, дай Бог, составляет 3% от всей работы. "Изучайте СИ", да приходиться его изучать в пределах упомянутых 3%. Предвижу, что может поступить умное предложение: "Наймите кого нибудь". Пока нет этой возможности!
0
 Аватар для COKPOWEHEU
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,081
09.09.2022, 12:59
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Предвижу, что может поступить умное предложение: "Наймите кого нибудь". Пока нет этой возможности!
Так вам не нравится этим заниматься, вас заставляют? Если так, может, лучше уйти пока нервы еще целы, и заниматься тем, к чему больше склонности?
0
Эксперт .NET
 Аватар для Rius
13834 / 7876 / 1705
Регистрация: 25.05.2015
Сообщений: 23,919
Записей в блоге: 14
10.09.2022, 07:51
Юрий_48, можно было подумать заранее и сделать как VladimirU. Вместо покрытого каменными отложениями дисплея выбрать современный и решить задачу не тратя на это ресурсы микроконтроллера. У контроллеров дисплея ilitek есть функциональность окна (рисование в заранее определённой области, не трогая остальное) и прокрутки области (сдвиг содержимого прямоугольный области одной командой).

Добавлено через 1 минуту
Программисты с электрониками должны работать совместно.
0
248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231
10.09.2022, 11:45  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
У контроллеров дисплея ilitek есть функциональность окна (рисование в заранее определённой области, не трогая остальное)
У рассматриваемого дисплея так же.
Цитата Сообщение от Rius Посмотреть сообщение
и прокрутки области (сдвиг содержимого прямоугольный области одной командой).
А, вот, этого нет. Плохо, что я не проработал вопрос с дисплеем должным образом, но поезд ушёл, взял, что подешевле и подоступнее. Оглядываясь на все проблемы приходишь к мысли, что, может, есть контроллеры дисплеев, которые имеют буфер, куда можно последовательно пихать нужные объекты с наложением, перед этим задавая, конечно, необходимую прямоугольную область. И после этого определённой командой передавать сформированный буфер непосредственно в матрицу дисплея на заданное место. Есть ли у ilitek или у других контроллеров такая возможность?
0
Эксперт .NET
 Аватар для Rius
13834 / 7876 / 1705
Регистрация: 25.05.2015
Сообщений: 23,919
Записей в блоге: 14
10.09.2022, 12:35
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Есть ли у ilitek или у других контроллеров такая возможность?
Есть у STM32 старших версий, LTDC:
Запускаем дисплей на STM32 через LTDC… на регистрах
AN4861 - Application note. LCD-TFT display controller (LTDC) on STM32 MCUs

В отдельном дисплейном контроллере... Встречалось у RAiO ещё в RA8835. А в даташите на RA8876 можно видеть переключение буферов экрана и фичу картинка-в-картинке.

Это также вопрос типа "давайте добавим ракетный двигатель к запорожцу". В этой области есть "умные" дисплеи типа FTDI EVE.
1
248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231
10.09.2022, 18:46  [ТС]
Rius, спасибо за полезную информацию.
0
248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231
21.09.2022, 16:47  [ТС]
Цитата Сообщение от ВитГо Посмотреть сообщение
так что проблема не в последовательности инициализации...
Проблема прояснилась - наводки. Дисплейчик подключён жгутом ~50 мм. Обмотал жгут проводом как попало ~10 витков и подключил его к питающей земле. После этого всё стало работать без сбоев - 100% запуск. Вопрос второстепенный, больше для обшего развития. Почему проблема проявляласть только при запуске?
0
Эксперт .NET
 Аватар для Rius
13834 / 7876 / 1705
Регистрация: 25.05.2015
Сообщений: 23,919
Записей в блоге: 14
21.09.2022, 16:54
Далее вы в основном данные изображения пересылаете. Если в них что-то не так, просто пиксель будет немного другого цвета.
А один ошибочный бит при инициализации заставит глючить весь дисплей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2022, 16:54

LCD ST7735 и ST7789
Кто-нибудь задумывался и реализовывал полноценный модуль для работы с этими дисплеями на уровне вывода реальных строк текста разными...

Дисплей на контроллере ST7735 и Ucglib
Всем привет! Пытаюсь прикрутить Ucglib к своему проекту, но есть несколько проблем. 1. Никак не могу заставить отображаться русский...

st7735 проблема с пролистыванием на экране.
Использую модуль st7735 1.8 tft. Столкнулся с проблемой при создании функции пролистывания на странице: <Изображение удалено> ...

Спрошу-ка я тоже про экнанчик. stm32f4 + st7735
Хоть маленький, зато всего 5 проводов. Вот только не работает в моих руках :( Есть ли у кого-то работающий код под st7735? Вот...

ESP32 Вывод на экран ST7735 с драйвером ST7789 240х240
пытаюсь вывести хоть что нибудь на экран, пока безуспешно #include <Adafruit_ST7735.h> #define TFT_CS 39 // Hallowing...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Опции темы

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru