Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
248 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 231

STM32F103C8T6 и дисплей ST7735

02.09.2022, 13:07. Показов 3672. Ответов 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
610 / 883 / 104
Регистрация: 23.11.2021
Сообщений: 5,170
Записей в блоге: 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
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,067
08.09.2022, 09:56
Цитата Сообщение от VladimirU Посмотреть сообщение
Зачем копипастить
Что бы твой код резко заработал на благо бизнеса.
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Нормально запускается процентов 70. Иначе приходиться перестартовывать иногда и не один раз.
Вы вот это называете "на благо бизнеса"? Или может когда Ардуину пихают в управление лифтом?
Цитата Сообщение от Eddy_Em Посмотреть сообщение
А не бывает в массив все это запихать и спокойно в цикле инициализацию выполнить?
Далеко не всегда это даст выигрыш. Скажем, у многих дисплеев надо дергать линию data/command, ее в массив пихать себе дороже. Но даже без этого по объему много не выиграете, по скорости тем более.
0
Windows must die
610 / 883 / 104
Регистрация: 23.11.2021
Сообщений: 5,170
Записей в блоге: 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
610 / 883 / 104
Регистрация: 23.11.2021
Сообщений: 5,170
Записей в блоге: 19
08.09.2022, 23:07
Цитата Сообщение от ВитГо Посмотреть сообщение
а тут 5 байт....
И все равно адов спагетти-код!
0
 Аватар для COKPOWEHEU
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,067
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
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,067
09.09.2022, 12:59
Цитата Сообщение от Юрий_48 Посмотреть сообщение
Предвижу, что может поступить умное предложение: "Наймите кого нибудь". Пока нет этой возможности!
Так вам не нравится этим заниматься, вас заставляют? Если так, может, лучше уйти пока нервы еще целы, и заниматься тем, к чему больше склонности?
0
Эксперт .NET
 Аватар для Rius
13398 / 7852 / 1700
Регистрация: 25.05.2015
Сообщений: 23,869
Записей в блоге: 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
13398 / 7852 / 1700
Регистрация: 25.05.2015
Сообщений: 23,869
Записей в блоге: 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
13398 / 7852 / 1700
Регистрация: 25.05.2015
Сообщений: 23,869
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru