STM32 + Дисплей ST7789. Быстрая и компактная библиотека.

  Рет қаралды 36,028

Vladimir Medintsev

Vladimir Medintsev

Күн бұрын

В ролике рассказывается о подключении дисплея с контроллером ST7789 к микроконтроллеру STM32.
Канал в телеграмм - t.me/vladimir_...
Канал Яндекс.Дзен - zen.yandex.ru/...
Канал на RuTube - rutube.ru/chan...
Канал на KZbin - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------
STM32 + Дисплей ST7735 - • STM32 + Дисплей ST7735...
STM32 + Nokia1202 - • STM32 + Nokia1202 Сбор...
Библиотека - yadi.sk/d/_tU-...

Пікірлер: 170
@nicolasomsk
@nicolasomsk 4 жыл бұрын
Спасибо за ваш труд. Именно таким должен быть контент. Именно таким должен быть интернет-библиотекой знаний, а не праздным развлекаловом.
@Alexcymantrene
@Alexcymantrene 3 күн бұрын
Огромное спасибо, Владимир, все работает! Основная проблема у меня была с настройками SPI (Настройка SPI: CPOL=1, CPHA=1)
@sozdatelEd
@sozdatelEd 4 жыл бұрын
есть ещё пара моментов для ускорения работы библиотеки: 1. функции HAL_GPIO_WritePin(...); заменить на: #define LCD_data GPIOA->BSRR = GPIO_BSRR_BS10; // DC лог.1 - данные в дисплей пойдут #define LCD_command GPIOA->BSRR = GPIO_BSRR_BR10; // DC лог.0 - команда в дисплей пойдёт заменить в соответствии с Вашей распиновкой. 2. Большую часть времени мы в дисплей вываливаем буфер данных. При вызове функции ST7789_SendData (uint8_t data); каждый раз вызывается функция HAL_GPIO_WritePin(DC_GPIO_Port, DC_Pin, GPIO_PIN_SET);, которая переводит ножку LCD_DC в лог.1 для того чтобы дисплей понял что к нему по spi будут поступать данные. Так вот эту функцию можно перенести в конец функции ST7789_SendCmd (uint8_t Cmd); 3. Функцию ST7789_SendData (uint8_t data); сделать __inline
@admin_of_youtube
@admin_of_youtube 4 жыл бұрын
супер! заливка градиентом очень понравилась, никогда раньше не использовал. очень красиво!
@CadmiumUA
@CadmiumUA 4 жыл бұрын
Управление пином DC_Pin надо производить только в функции ST7789_SendCmd, притянул пин на землю, отправил команду, поднял пин. Тогда ST7789_SendData сможет отсылать данные непрерывно, не отвлекаясь на дерганье пином.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
О, спасибо, хорошая идея. Сам не догадался. Вот чем полезно иногда людям показывать...
@ozn_
@ozn_ 4 жыл бұрын
Спасибо , надо попробовать эти десплеи, достаточно не плохие они
@BalabayUA
@BalabayUA 2 жыл бұрын
Не понял откуда такие тормоза, но в датшите минимум Serial clock cycle = 16 ns. Т.е. частоту CLK можно поднимать до 62,5 МГц. Чтобы обрисовать все пикселя экрана на этой частоте нужно 240*240*16*(16 *10^-9) = 14.7 ms (67.8 Hz). И в "библиотеке" DC_Pin устанавливается не дожидаясь окончания предыдущей передачи по SPI. А ведь ST7789 фиксирует D/C при передаче восьмого (последнего) бита. В SPI отправляются данные без анализа TXE бита, закомектированное управление CS лучше не включать, поднимается не глядя на бит окончания передачи BSY... Но ведь работает как-то, значит и так сойдет :)
@cyberzx
@cyberzx 4 жыл бұрын
о, недавно для него писал библиотеку. интересный дисплей
@sem4274
@sem4274 4 жыл бұрын
Прикольно. Ещё бы самому научиться все это собирать, паять... Эхх. Лайк.
@ЮрийИванов-т8о
@ЮрийИванов-т8о 4 жыл бұрын
Вот это как раз не проблема!
@akvilion7365
@akvilion7365 4 жыл бұрын
Что не понравилось в библиотеках на ST7789 так это вывод текста. Или слишком жирно по памяти или слишком медленно (заметно глазом обновление текста). Нашёл достаточно быстрый способ вывода текста на eax.me/stm32-st7735/ Там указывается адрес, а затем просто "заливаем" символ целиком. Скорость отрисовки текста улучшается в разы. Но из-за этого возникает другая проблема. В файле fonts максимальный шрифт 16х26, а это на таком экране маловато. Для шрифта побольше нужно городить свой компилятор. Если надо, могу скинуть функцию вывода строк, сравните по динамике со своей, но там все просто в принципе - ищите ST7735_WriteChar в github.com/afiskon/stm32-st7735/blob/master/st7735/st7735.c и подгоняете под свой вывод даты и установки адреса.
@akvilion7365
@akvilion7365 4 жыл бұрын
@@user_PsevdonimyEtoPolnyjOtstoj Без HAL могут быть проблемы, если не использовать опрос флагов статуса отправки / приёма данных. Уже проходили. И разница больше идёт от частоты SPI и от "метода" записи в дисплей - сразу строкой данных или, например, попиксельно. Про масштабирование подумал первым делом. Но там проблема в другом - размер поля данных в пакете при передаче данных непрерывно ограничен. Я не смогу передать текст больше (по пикселям) 0XFFFF (вроде бы) целиком. Если делать текст больше - придётся выводить его "полосками", при этом проверяя на "конец экрана", чтобы он собрался в итоге нормально. +структура fonts.c должна быть перелапачена. Время на это решил не тратить - надо было получить готовое устройство. Если у вас получится допилить шрифты - буду только рад.
@akvilion7365
@akvilion7365 4 жыл бұрын
@@user_PsevdonimyEtoPolnyjOtstoj запись строкой - это когда библиотека шрифта сгенерирована так, чтобы можно было выводить символы непрерывно (до конца экрана). Передаем сначала начальный адрес первого пикселя, а затем просто шлем "строку" данных из fonts, которая по сути состоит из цвета пикселя. И так до конца выводимого текста. Т.е. не надо каждый раз обращаться к установке адреса, стирать отдельно фон или ещё как-то усложнять функцию вывода. Посмотрите на функцию вывода на сайте выше. Можете попробовать как работает. У меня быстрее всех текст выводила именно она. Если у вас не сильно отличается по скорости - кидайте ссылку, как дойдут руки попробую ваш вариант.
@cyberzx
@cyberzx 4 жыл бұрын
Кстати, использование DMA сильно ускорит отправку данных в экран.
@marsm6619
@marsm6619 4 жыл бұрын
спасибо за прекрасный обзорчик
@RadioTexnik
@RadioTexnik 4 жыл бұрын
Спасибо за обзор! Прикупим)
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
gisanddata.maps.arcgis.com/apps/opsdashboard/index.html
@RadioTexnik
@RadioTexnik 4 жыл бұрын
@@VladimirMedintsev спасибо!)
@user-cp123pc5tk8d
@user-cp123pc5tk8d 4 жыл бұрын
10:10 - а почему через дэфайн не сделали? Пример хорошего тона , все аппаратнозависимые команды лучше делать через дэфайн . Тогда просто в начале файла меняешь значение , и по коду дальше везде меняется. Ну и меньше ошибок из-за этого.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Да, но показывать в видео с дефайнами менее наглядно. По этой причине будет показываться так.
@muxx9992
@muxx9992 3 жыл бұрын
Спасибо Владимир за ролик, код и отличный канал. Реально помогло в написании драйвера к 1.3" дисплею для TM4C123. В сточках 116 и 118 файла st7789.c пожалуйста исправьте "=" на "|=".
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Круто, спасибо. Поправлю.
@kbv1972
@kbv1972 4 жыл бұрын
Вы всё таки переделали передачу по SPI после видео с экранчиком ST7735? Да, там было тормознуто и глючно)) Вечером попробую этот вариант, спасибо. Кстати все равно медленно рисует буквы, я добавил вывод символов не точками, а построчно (строка подготавливается в буфер и передается одним вызовом) - ну кое что.
@ИванИванов-п2ю6г
@ИванИванов-п2ю6г 3 жыл бұрын
Если нет возможности выбирать дисплей сигналом CS, то дисплей один всегда занимает весь интерфейс SPI, как я понимаю, и другие SPI-устройства к этому интерфейсу подключить уже нельзя. Нашел подсказку - на шлейфе есть полноценный CS, подключенный на плате к GND. Его можно взять оттуда, предварительно отключив от GND. На мой взгляд, хороший вариант - перепаять дисплей со шлейфом на свою нормально разведенную плату со всеми нужными сигналами. Спасибо вам за вашу работу.
@АлександрЕратин
@АлександрЕратин 3 жыл бұрын
можно вам позадавать может быть глупые вопросы по подключению дисплея к плате. А то я из интереса в 45 лет пытаюсь понять как это все работает, но на некоторые ошибки не понимаю ка реагировать. Пока только мигание светодида и получил.
@ВасилийТёркин-г3м
@ВасилийТёркин-г3м Жыл бұрын
Или поставить один единственный полевик, который будет отключать линию CLK от общей SPI шины, когда обращение идёт к другому устройству.
@UstinovUM
@UstinovUM 4 жыл бұрын
Забавно... я был в Охе. В моём списке филиалов ада на Земле этот город на первом месте) Но как часто бывает, самое лучшее может оказаться там, где его быть теоретически не должно.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Оха, это словами не передать.
@НиколайКрасиков-ы8й
@НиколайКрасиков-ы8й 4 жыл бұрын
Подскажите пожалуйста что купить ST7789 или IL9341? В чём разница между ними?
@nangelo0
@nangelo0 4 жыл бұрын
Спасибо. Владимир, расскажите о том, где вы работаете? Что за компания? Кто клиенты?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Клиенты как частные лица, так и вполне себе крупные компании. Те, кто нуждается в мелкосерийной электронике или кто хочет воплотить свою идею. Ну и мы свои разработки вполне себе делаем и предлагаем. Я уже под одним из видео говорил, что через какое-то время покажу еще одну нашу разработку - стабилометрическую платформу для диагностики и реабилитации пациентов. Если коронавирус переживем, то к осени будет наша система для нормализации и контроля сна. Ну иными словами мы тут весело живем.
@nangelo0
@nangelo0 4 жыл бұрын
@@VladimirMedintsev Спасибо. А лабораторию вы сами организовали или вы как сотрудник работаете?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@nangelo0 Вы что налоговая? Мишустин перелогинься.
@alexpetrov521
@alexpetrov521 4 жыл бұрын
)))
@axsmyth
@axsmyth 4 жыл бұрын
У вас на 4:15 показан переходник SSOP24-DIP с шагом 0.65. У дисплея на шлейфе шаг 0.7 и оно не бьётся. Без оловянной сопли не припаять. Не подскажете, где, кроме как изготавливать самостоятельно, можно взять что-нибудь подобное, но с шагом 0.7 ?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
#Aliexpress 27,10 руб. 11%OFF | diymore Multiple 0.5/0.7/0.8/1.0mm Pitch TFT LCM LCD Adapter Board FPC-50 Board SMD To DIP a.aliexpress.ru/_eMShEs
@ВладАртющик
@ВладАртющик 4 жыл бұрын
Добрый день. Не планируете делать видео на тему работы с mbed-os ? В частности ее портирование на контроллеры.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
По этой теме роликов точно не будет. Мы эту ОС не используем и не планируем.
@ugene4063
@ugene4063 2 жыл бұрын
Ну а что мешает запихать шрифты на внешнюю флешку и вытаскивать когда нужно? Туда можно слона запихать. Для создания шрифтов из системных есть отличная прога Greyscale BitfontCreator правда денег за нее хотят много, но штука прикольная. Генерит нужный шрифт за считанные секунды с нужными параметрами ширины высоты и направления сканирования.
@87Spectr
@87Spectr 4 жыл бұрын
Владимир, спасибо за обзор! Вы не подскажете как spi в хале настроить с Вашей библиотекой? Я пытаюсь запустить этот дисплей на стм. Смотрю осциллографом - clk и данные есть. ..а дисплей не работает. Но на ардуино норм - работает.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Ну скорее всего у вас неверно настроено CLKPhase hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial = 7; hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
@87Spectr
@87Spectr 4 жыл бұрын
@@VladimirMedintsev спасибо! Ваша догадка оказалась верна. Работает. Скажите, пож-та, не подскажете как самым простым путем добавить индикацию букв и цифр?
@viktors2856
@viktors2856 4 жыл бұрын
Спасибо.!!!
@Black27512
@Black27512 4 жыл бұрын
Вполне не плохой дисплей, причём можно ведь ещё и читать с него, то есть вполне себе видеопамять... Я докрутил ещё 16 битный dma - заполнение стало гораздо бодрее. Хочу попробовать анимацию выводить. Кстати, у авторов библиотек не очень оптимально то что они используют 8 битный режим spi, от чего приходится по 2 раза слать и ждать окончания передачи. Но да, hal не умеет в 16 бит...
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
В смысле HAL не умеет 16 бит???? Это вы о чем??? Я два дня назад писал библиотеку на сенсор и мы с ним 16 битами по SPI написанном на HAL обменивались.
@Black27512
@Black27512 4 жыл бұрын
@@VladimirMedintsev а может плохо смотрел, мне этот hal даётся сложнее, чем LL ))
@anton.k.
@anton.k. 4 жыл бұрын
@@Black27512 абстракция над абстракцией) он же вроде сейчас поверх LL и работает? за исключением того, что вообще не связано с "железом" непосредственно, т.к. HAL это нечто большее..
@Black27512
@Black27512 4 жыл бұрын
@@anton.k. LL это скорее набор макросов даже, а hal не использует LL, в кишках он с регистрами уже работает.
@ORISDBDRAG
@ORISDBDRAG 4 жыл бұрын
Сколько fps Вы получили?
@fly8r358
@fly8r358 4 жыл бұрын
За видео спасибо. Но хотелось бы понять, вы выпилили все, что касается шрифтов. А как рисовать строки тогда?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Я знакогенератор допиливал уже после того как было сделано это видео. Видео появляются на канале с задержкой до 3х недель. А знакогенератор я взял из библиотеки нокиевского дисплея и немного его переработал.
@NoviSavvy
@NoviSavvy 11 ай бұрын
Здравствуйте! Пишет, не найден файл Всё перекопал, нигде не могу найти. Подскажите, что сделать, где его скачать?
@Alexcymantrene
@Alexcymantrene 6 күн бұрын
такой же вопрос
@VladimirMedintsev
@VladimirMedintsev 6 күн бұрын
@Alexcymantrene Он создается программой STM32CUBEMX при создании проекта.
@stells47
@stells47 4 жыл бұрын
где за 86 рублей купить? на али по такой цене не нашел,минимум 120 с доставкой.
@sergeypavlovskiy3345
@sergeypavlovskiy3345 3 жыл бұрын
А сейчас уже почти по 500 идут...
@artyomg7275
@artyomg7275 2 жыл бұрын
Здравствуйте. У меня дисплей на чипе Дисплей ST7789V. Стоит на электронной нагрузке Atorch DL24. Так вот в последнее время он стал показывать просто белый цвет, без изображения. При сбросе питания изображение появлялось, но не на долго, так что на плохой контакт не похоже. Продавец с Али сказал, что надо перепаять шлейф к плате. Я пропаял - дисплей проработал пару дней и потом опять стал белым. Крутил, вертел, нажимал везде - изображение не появлялось, все пиксели белые. Теперь продавец говорит, что надо купить новый дисплей. Я в этом вопросе не разбираюсь. Подскажите проблема в дисплее или в контроллере на самой плате? Сама нагрузка работает. При подключении через блютус все функции работают. Но хотелось бы восстановить изображение, т.к. через блютус не удобно.
@ivanrusev2270
@ivanrusev2270 4 ай бұрын
А скажите как узнать какой у меня графический дисплей если у меня 1.8TFT 128x160?
@ajdarseidzade688
@ajdarseidzade688 4 жыл бұрын
А этот дисплей случайно не OLED? Пишут, что TFT, но что-то сомнения возникают. Спасибо за видео.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Это IPS.
@KeyCe
@KeyCe 4 жыл бұрын
пользовал этот дисплейчик. очень он сильно боится нажатий на экран (( - сразу думайте о защитном покрытии.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Не заметил, погляжу сегодня. С другой стороны защита не проблема. Любое рекламное агенство режет лазером акрил или поликарбонат и у них же можно заказать на этих "стеклах" УФ печать для нанесения необходимых надписей и прочего. Сейчас это не проблема.
@aleksandrf3468
@aleksandrf3468 4 жыл бұрын
Добрый день, Владимир! Спасибо за видео. Дисплейчик завелся на указанной библиотеке, правда без бубна не обошлось. Библиотека и правда компактная и быстрая, только жаль в ней нет поддержки шрифтов, надо будет ее допиливать. Уроки хорошо помогают в освоении STM микроконтроллеров. Планируется уроки по шине I2C и работе памяти с этим интерфейсом?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Через какое-то время я выпущу видео в котором покажу как организовать вывод текста на этой библиотеке.
@aleksandrf3468
@aleksandrf3468 4 жыл бұрын
@@VladimirMedintsev Отлично! Буду ждать новое видео! Еще раз спасибо!
@Diject
@Diject 4 жыл бұрын
Кстати, а никто не покупал что-нибудь в инет магазине texas instruments? Вроде цены очень приятные, но меня, как физлицо, смущает необходимость указывать свой сайт при заказе.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Я покупал. Не понравилось. Все дешево, а потом доставка с конским ценником.
@MrSasha3050
@MrSasha3050 4 жыл бұрын
Физ лицами не работают. Только отправка на юр лицо. То есть на адрес фирмы, где работаем.
@Diject
@Diject 4 жыл бұрын
@@VladimirMedintsev Ну, я сейчас накидал всякого в корзину - доставка вроде как стоит в 7$ (самый дешевый вариант). Что, считаю, не много. Или там еще цена может измениться?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@MrSasha3050 Еще как работают.В качестве организации я лично написал "AT HOME" и свой домен и шикарно дошло.
@alexandrijchuck817
@alexandrijchuck817 4 жыл бұрын
@@Diject Аналогично. Причем дошло очень быстро. А вот пробовал заказывать на ST - конские цены доставки. 79 евро. И Я не стал подтверждать заказ.
@ussh469
@ussh469 4 жыл бұрын
Добрый день, не подскажите, будет ли видео о том как правильно организовать питание от липольки? Допустим если есть ещё потребители на 3.3 вольта, помимо стмки?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Вы же понимаете что универсального решения по питанию не существует. В каждом проекте этот вопрос прорабатывается отдельно. В каком-то случае это будет линейник с низким падением, где-то потребуется импульсный и снижать напряжение питания микроконтроллера. Случаи очень разные.
@ussh469
@ussh469 4 жыл бұрын
@@VladimirMedintsev в целом вопрос стоит о том что на батарее через некоторое время напряжение опустится ниже 3.3 вольт, стоит ли сначала поднимать напряжение а потом стабилизировать на 3.3?)
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@ussh469 А если нам пойти другим путем и запитать микроконтроллер от 2,5 вольт? Это ведь его родное напряжение. И тогда мы можем ничего не повышать вплоть до полного разряда акб.
@ussh469
@ussh469 4 жыл бұрын
@@VladimirMedintsev ну я же уточнил вначале, есть ещё 2 устройства на 3.3 вольта (это радиопередатчик и gps)
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
www.ti.com/power-management/non-isolated-dc-dc-switching-regulators/buck-boost-inverting/products.html Там параметрический поиск есть и вы можете выбрать на любой вкус. Только там есть инвертирующие вы на них не смотрите.
@ИринаЦыганова-ы3п
@ИринаЦыганова-ы3п 5 ай бұрын
а можно подключить к расбери пай, если да то как?
@НазарЛапатшо
@НазарЛапатшо 4 жыл бұрын
Привет.А будут видео про чтение/запись внешней nand flash via stm32.А то каналов на ютубе много про stm32 но про nand ничего....
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Будет.
@НазарЛапатшо
@НазарЛапатшо 4 жыл бұрын
@@VladimirMedintsev Ждём - действительно интересная тема.Я не видел ничего толкового даже на зарубежных каналах
@ihanick
@ihanick 4 жыл бұрын
не ютуб, но может быть полезно: we.easyelectronics.ru/STM32/stm32-parallelnaya-nand-flash-faylovaya-sistema-yaffs-chast-pervaya.html
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@НазарЛапатшо Ну не перегибайте палку, нет там ничего сложного. На моем канале в каком-то видео про FAT я показывал строки своей библиотеки работы со внешней микросхемой памяти. Там тоже flash но не nand. Так что это все давно существует. Вон даже в Keil есть встроенные библиотеки поддержки наиболее распространенной памяти. Иногда в интернете чего-то нет не потому что это прям тайна, а потому что всем понятно и лень писать. Вот эти ролики kzbin.info/www/bejne/lXKlpIKnmrV8o9E и kzbin.info/www/bejne/eaK0qJepbatpm5Y исходный код похожей библиотеки лежит в Keil.
@OlegBovykin
@OlegBovykin 4 жыл бұрын
Владимир, а как вы пользуетесь системой контроля версий (если пользуетесь?) Пустой проект после CubeMX занимает под 200Мб. Как управлять зависимостями в проектах?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Пустой проект после куба весит гораздо меньше. 20-100 текстовых файлов. А 200 мегабайт это мусор создаваемый компилятором его можно и удалить. Ну полноценного контроля версий у нас нету. На 3х разработчиков он не нужен совершенно. У нас стоит nas на линуксе который раз в сутки делает снимок таким образом мы можем откатываться с любым файлом на его предыдущие версии. Ну и просто ведем небольшой текстовый файлик в двух словах описывая что коренным образом менялось за день. В маленьких коллективах большего не надо. Главное грамотно настроить облако.
@OlegBovykin
@OlegBovykin 4 жыл бұрын
@@VladimirMedintsev Я считаю что даже для одного человека полезно использовать git. Это вопрос подхода, культуры и процесса разработки (как и тесты, CI итд).Папка Drivers 54 Мб, и еще чуть больше мусор от компилятора. А как вы разбираетесь с зависимостями? Есть что-то вменяемое для C/C++ для проектов с STM32?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Мы видимо на каком-то этапе не поняли друг друга. В кейле встроенная поддержка контроля версий вас чем не устраивает? Пункт меню SVCS.
@OlegBovykin
@OlegBovykin 4 жыл бұрын
@@VladimirMedintsev тут меня скорее кейл не устраивает и вся экосистема stm32
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@OlegBovykin Я пожалуй восприму это просто как шутку.
@konstantin7170
@konstantin7170 4 жыл бұрын
Владимир , вы не подскажите, где я могу найти для этого дисплея пользовательский блок для программы FLprog?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Нет, я не знаю.
@alntruisrtbredford
@alntruisrtbredford Жыл бұрын
честно говоря, не очень понятно, как подключать этот дисплей к stm. На переходной плате имеются пины, функционал которых не соответствует SPI. С VCC, GND, RES все понятно. BLK - выключает подсветку, DC - передача команд или данных. Остаются два пина - SCK (тактирование) и SDA (serial data input/output). Выбора ведомого (SS) тут нет. В SPI должны быть MISO и MOSI . По логике их функционал эквивалентен SDA+DC, если с помощью можно менять направление передачи. Но как это соотносится с тем, что в stm конкретные пины отведены под spi (SS, CLK, MISO, MOSI)? Как одно с другим подружить?
@VladimirMedintsev
@VladimirMedintsev Жыл бұрын
Прочитать datasheet на драйвер экрана, там в разделе с описанием интерфейса очень подробно описано. Ну и нужно понимать, что стандарта именовать выводы именно miso - mosi нету. Называть можно как угодно, главное понимать суть.
@ВасилийТёркин-г3м
@ВасилийТёркин-г3м Жыл бұрын
CS (выборка кристалла) соединяется с линией SS SPI. SDA c MOSI, CLK соответственно с SCK. MISO оставить неподключенным так как контроллер дисплея не позволяет читать содержимое. D/C подключается к любому свободному пину общего назначения и перед каждой транзакцией на нём программно устанавливается необходимый уровень, соответствующий содержимому, чтобы контроллер дисплея понимал что ему передают в текущий момент, данные или команду.
@generalleitenant42
@generalleitenant42 4 жыл бұрын
Здраствуйте . вот сколько видео просмотрел так у меня и не запустился дисплей с вашими библиотеками .дисплей st7789v 1.14 inch 135x240 микроконтроллер stm32f405rgt6
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Это тоже результат. К сожалению мне из вашего комментария не удалось получить хоть какой-нибудь информации о причинах, а их может быть много. В любом случае огромное спасибо за обратную связь.
@generalleitenant42
@generalleitenant42 4 жыл бұрын
@@VladimirMedintsev думаю не проходит инициализацию
@generalleitenant42
@generalleitenant42 4 жыл бұрын
@@VladimirMedintsev можно ли вам скинуть свой проект чтоб вы проверили, может быть я что то не так делаю
@2222-s8x
@2222-s8x 2 жыл бұрын
Доброго времени суток, Владимир. В мануале к моему дисплейчику (mono-oled 1306) пишут якобы в режиме 3-проводного SPI "only write operations are allowed". Да, команды и данные я отправить могу, как и хотелось, но смущает это "only". Что ещё можно послать на контроллер дисплея?
@2222-s8x
@2222-s8x 2 жыл бұрын
"Under serial mode, only write operations are allowed." Вот точная цитата. Знатоки помогайте :)
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
@@2222-s8x Это значит что только операции записи доступны. А чтение данных из экрана НЕ доступно. Только запись, нет чтения. Ну очевидно же.
@alexanderfox4678
@alexanderfox4678 4 жыл бұрын
Добрый день! А есть ли подобные дисплеи с сенсорным экраном, желательно меньшего размера даже? Никто не использует?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Сенсорную панель всегда можно купить отдельно. Они продаются и доступны.
@alexanderfox4678
@alexanderfox4678 4 жыл бұрын
@@VladimirMedintsev посоветуете где посмотреть миниатюрные не более 0,9 дюйма или менее того. Мне идеально подошел бы экран от Mi Smart Band, но не могу я их найти, не продают. Сижу эти часы разбираю, чтобы посмотреть что там.
@brenkovd
@brenkovd 4 жыл бұрын
Расскажите как подружить с операционной системой это дело ? Пока что библиотека работает корректно в блоке taskENTER_CRITICAL .
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Никаких дополнительных мер к тому, чтобы эта библиотека нормально работала во FreeRTOS предпринимать не надо. Только замените HAL_Delay на osDelay и будет великое счастье.
@brenkovd
@brenkovd 4 жыл бұрын
@@VladimirMedintsev Спасибо, попробую. Учусь программировать, и решил сразу организовывать программу с использованием ОС, все таки думаю при использовании STM32 всегда применять ОС.
@ilkeraykut7064
@ilkeraykut7064 3 жыл бұрын
Sir ,Which method I should use for writing any text on the screen?Thanks.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Hi, there is a link kzbin.info/www/bejne/mXeraaCoiLKid8k to video about implementation font for this display. In video description you also can found updated version of library. Best regards.
@ilkeraykut7064
@ilkeraykut7064 3 жыл бұрын
@@VladimirMedintsev thanks for the link.But I have one more question.in the fuction, for (uint8_t i=0; i= 1; } } There is part like this.As far as I see, we just only send color or bgcolor data ,Which part of this do we send char?For example , 0x20, 0x54, 0x54, 0x54, 0x78 , // 0x61 a; What does it mean?How do we find this 5 numbers? this is implemented in the file.To me ,we have to send these hexadecimal values but we don t .Why ?
@ilkeraykut7064
@ilkeraykut7064 3 жыл бұрын
@@VladimirMedintsev ?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
This 5 numbers is a bitmap for char (letter) that should be displayed.
@ilkeraykut7064
@ilkeraykut7064 3 жыл бұрын
@@VladimirMedintsev but in the code ,we dont send 5 numbers.we send color codes am I wrong?
@MrSasha3050
@MrSasha3050 4 жыл бұрын
Владимир, шрифты свои прикрутили в итоге?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Да, прикрутил.
@MrSasha3050
@MrSasha3050 4 жыл бұрын
@@VladimirMedintsev, а видео с шрифтами будет?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@MrSasha3050 Ну с тем, что на ближайшие 2 недели видео уже залито на канал, позже будет.
@ИванВасильев-т4ш
@ИванВасильев-т4ш 3 жыл бұрын
Подскажите в каком документе есть пошаговая инициализация дисплея ST7789?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Разумеется в даташите. Документ называется ST7789V Datasheet
@ИванВасильев-т4ш
@ИванВасильев-т4ш 3 жыл бұрын
@@VladimirMedintsev Я с английским не очень сильно, поэтому по оглавлению в это документе не смог найти, вот листаю постранично и тоже ничего не нахожу. Будте так любезны ткните в номер странички?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@ИванВасильев-т4ш Там весь документ это и есть инициализация. Подача питания, выбор интерфейса, выбор метода кодирования цвета.
@personamems
@personamems 4 жыл бұрын
Шаг между выводами шлейфа 0.7 мм
@ВасилийТёркин-г3м
@ВасилийТёркин-г3м Жыл бұрын
Круто. Совместимо с ЛУТ.
@ИванИванов-п2ю6г
@ИванИванов-п2ю6г 3 жыл бұрын
Подскажите, пожалуйста, как решить проблему подсоединения такого дисплея без CS с другими устройствами на один SPI?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Я не понимаю вопроса.
@ИванИванов-п2ю6г
@ИванИванов-п2ю6г 3 жыл бұрын
@@VladimirMedintsev Если нет возможности выбирать дисплей сигналом CS, то дисплей один всегда занимает весь интерфейс SPI, как я понимаю, и другие SPI-устройства к этому интерфейсу подключить уже нельзя. Нашел подсказку - на шлейфе есть полноценный CS, подключенный на плате к GND. Его можно взять оттуда, предварительно отключив от GND. На мой взгляд, хороший вариант - перепаять дисплей со шлейфом на свою нормально разведенную плату со всеми нужными сигналами. Спасибо вам за вашу работу.
@ВасилийТёркин-г3м
@ВасилийТёркин-г3м Жыл бұрын
@@ИванИванов-п2ю6г поставить один единственный полевик, который будет отключать линию CLK от общей SPI шины, когда обращение идёт к другому устройству.
@denpar5450
@denpar5450 7 ай бұрын
1:42 поверни на 90 градусов
@bul2012
@bul2012 4 жыл бұрын
год назад ещё с этим экранчиком "сношался", жду когда китайцы сделают шлейф на параллельную шину данных, ибо по спаю нормально графику не вывести, уж слишком медленный он для глаза
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Они просили вам передать, что параллельной передачи в таком размере делать не будут.
@bul2012
@bul2012 4 жыл бұрын
@@VladimirMedintsev да сами экраны с ips матрицей с параллельной шиной. Не обязательно на чипе st7789. Просто tft с 16 битной линией есть уже, но у ips экранов графика приятнее как минимум
@CadmiumUA
@CadmiumUA 4 жыл бұрын
@@bul2012 попадалось видео где на этот дисплей выводили видео 30фпс, по spi с raspberry
@U_video
@U_video 4 жыл бұрын
Это? m.aliexpress.ru/item/32323272328.html?spm=a2g0n.shopcart-amp.item.32323272328&
@miha01387
@miha01387 4 жыл бұрын
на алиэкспрес видел с 8-ми битной шиной, но цена в три раза выше и шаг контактов очень маленький
@_kipovets_85
@_kipovets_85 2 жыл бұрын
А как данную матрицу проверить на работоспособность в ардуино
@ВасилийТёркин-г3м
@ВасилийТёркин-г3м Жыл бұрын
Подключить соответствующую библиотеку.
@ugene4063
@ugene4063 2 жыл бұрын
под ST7789V код не работает
@alehavalikovich83
@alehavalikovich83 4 жыл бұрын
ерунду вы говорите совершеннейшую, называя библиотеку Руслана "пожалуй лучшей" из существующих. что это, просто некая ему "скачуха" как соотечественнику, дань уважения, а может попытка сгладить углы, потому как свою "библиотечку" вы фактически слизали один к одному с его, заменив лишь имена переменных, констант и функций на нужные из HAL, вместо SPL-ных в оргинале? в обсуждении того обзора экранов, Руслану несколько раз указывали, что именно не так с его библиотекой, насколько она медленно и криво работает с SPI и что нужно предпринять, что бы поправить ситуацию. и он кивал на все соглашаясь... но воз и ныне там, и ни единого коммита за два с лишним года. а шрифты??? вы же сами заметили, что этот его "мегаудобный интерпретатор букв" некуда не годится. а он ведь делает две версии своих примеров, вторую под атмегу, а это ведь вообще содомия какая-то!!! ну и последнее, почему бы вам не засечь время работы тестов в вашей реализации (заполнение градиентом, примитивы и т.п.) и, к примеру, версию под Ардуино от ползователя гитхаба cbm80amiga. она работает *в три раза быстрее вашей!* да уж, вот так "пожалуй лучшая библиотека", самое главное *мегабыстрая* какая, ничего не скажешь!! честно, я даже и не знаю смеяться тут или плакать. это ж насколько нужно лицемерным быть, что бы нести такую откровенную ересь, делая при этом совершенно "морду кирпичом".. правда что ли что подписчик все стерпит...
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Спасибо, я поржал, в чем смысл вами сказанного не понял. Видимо у вас что-то личное и очень нервное. Руслан большой молодец, библиотека и правда у него хорошая. Ну просто я наверное оценил бы и вашу, но вы ее не показываете.
@alehavalikovich83
@alehavalikovich83 4 жыл бұрын
еще бы, когда крыть нечем идет классика - посмотрел бы вашу. только речь не о моей, а о вашей. которую я посмотрел и она оказалась в три раза медленней библиотеки для ардуино. что касается Руслана - его заслуг я ни коем образом не умаляю и даже ценю. именно "заслуг" - от слова "заслужил". а что касается его библиотеки, то он сам признает ее корявость. только я говорил не о нем, я говорил исключительно "о ваших" заслугах. вы даже этого не поняли или просто делаете вид..? кстати, рекомендую меня забанить как можно быстрей. я сейчас как раз пишу комментарий на ваш "взгляд на БП"...
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@alehavalikovich83 Я позитивно отношусь к технической критике. Ну в тех случаях когда она имеет место быть. В связи с этим единственный способ попасть в "список нежелательных посетителей" это проявить себя трамвайным хамом. В том случае, если ваши комментарии будут касаться технической части, они останутся на канале. Перейдете на личности и начнете хамить я без всякого сожаления нажму на кнопку. Пока что-то похожее на конструктив было только в комментариях по блокам питания. Там я вашему комментарию даже поставил лайк. Я прошу меня понять правильно. Мне реально нравится почитать что пишут люди. Иногда их комментарии стоят больше самого видео. Мне нравится общение на технические темы. Таким образом я нахожу и интересных собеседников и порой хороших заказчиков. При этом ни вы ни кто-то другой не имеете ни малейшего понятия ни кто я такой ни как и чем я в действительности живу. В связи с этим какие-либо попытки зацепить лично меня и разговоры как вы выразились о моих заслугах, они меня расстраивают. А я делаю видео не для этого.
@ibrag2012
@ibrag2012 4 жыл бұрын
У мене розмір пристрою залежить від розміру екрана а тому що не вмію працювати з SMD користуюся банальним 1602.
Как работает сенсорный дисплей?
8:36
AlexKolmak
Рет қаралды 117 М.
1 сквиш тебе или 2 другому? 😌 #шортс #виола
00:36
VAMPIRE DESTROYED GIRL???? 😱
00:56
INO
Рет қаралды 6 МЛН
Зу-зу Күлпаш 2. Бригадир.
43:03
ASTANATV Movie
Рет қаралды 631 М.
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2,6 МЛН
IPS displays on ST7789 and ST7735 controllers
13:20
Электроника в объективе
Рет қаралды 221 М.
Round IPS display on GC9A01 controller
27:17
Электроника в объективе
Рет қаралды 368 М.
Изучаю STM32!
20:26
Лёша Кластер
Рет қаралды 194 М.
1 сквиш тебе или 2 другому? 😌 #шортс #виола
00:36