Помогите подружить blue pill stm32 и дисплей ili9341
- Войдите на сайт для отправки комментариев
Пт, 29/11/2019 - 11:55
Пришли с Али два дисплея. Один с тачем второй без тача.
В общем то вопрос в названии темы. Дисплеи будут выводить текст в кирилице. И возможно немного графики, пару линий или квадратов.
Нужна библиотека для платы STM32F103C со схемой подключения.
а тут шо, библиотекохранилище?
а тут шо, библиотекохранилище?
А почему бы и нет. Возможно у кого то и завалялась. Лежит без дела пылится. А мне как раз и пригодится.
поддержка этого дисплея есть во многих библиотеках, например в MCUfriend_kbv.h
Лично запускал такой дисплей на СТМ32
поддержка этого дисплея есть во многих библиотеках, например в MCUfriend_kbv.h
Лично запускал такой дисплей на СТМ32
Пишет.
Ошибка компиляции для платы Generic STM32F103C series.
Пишет.
Ошибка компиляции для платы Generic STM32F103C series.
читайте описание библиотеки - там сказано, под какие платы она рассчитана и как ее настроить под конкретный МК
в MCUfriend_kbv.h совершенно точно есть поддержка STM32F103C series
Ошибка компиляции для платы Generic STM32F103C series.
покажите сообщение об ошибке полностью. Только не скриншотом - скопируйте сообщение об ошибке как текст и вставьте в сообщение
вы сами, надеюсь, прочитали? - исправляйте
Во-первых, поставьте библиотеку Adafruit_GFX.h -она необходима для работы MCUFRIEND_kbv, это написано в описании
Во-вторых, разберитесь, почему у вас библиотеки дублятся... уберите лишние
На будущее - учитесь сами читать сообщения об ошибках, вместо того чтоб сразу бежать на форум. В сообщении компилятора всегда указано что за ошибка.
поддержка этого дисплея есть во многих библиотеках, например в MCUfriend_kbv.h
Лично запускал такой дисплей на СТМ32
Подскажите начинающему, пожалуйста, где в этой библиотеке смотреть распиновку выводов блюпил и портов tft.
Спасибо.
для дисплеев SPI - в файле utility/mcufriend_serial.h
для 8битных - в файле utility/mcufriend_shield.h
А для 16бит?
Извините ), надо было сразу уточнять.
Нашел только такое:
Нашел только такое:
это как раз для 8 бит - и портов тут 8 - PA7|PA6|PA5|PA4|PA3|PA2|PA1|PA0
Для 16 не знаю, не сталкивался
начнем с начала(судя по приведенным скринам в сообщении #0 ,далее по тексту #0) :
ваш модуль экрана = конроллер экрана (ili9341) + графическая панель (Graphic LCD)
собсно ,для того что бы вывыести данные на экран , они проходят следующий путь :
[приложение(данные,например число) -> графическая библиотека - > драйвер контороллера экрана ] -> контроллер(в данном случае ili9341) -> сигналы на GLCD -> картинка
квадратными скобками обозначеные действия внутри микроконтроллера (stm32).
в вашем случае , графическая библиотека и драйвер контроллера одно целое .
из моего опыта работы с данными графическими контроллерами (ili9341) он имеет несколько типов подключений : паралелльнй(parallel 8 ,16 и может даже 18 и 24 бита - точно не помню) и последовательный(SPI) .
тип подключения может выбираться как програмно (во время инициализации драйвера) так и аппаратно (некотоые пины контроллера экрана притягиваються либо к логической 1 либо к логиескому 0 тем и конфигурируеться интерфейс).
если вы поптытаетесь передать команды по параллеьной шине ,а контроллер экрана сконфигурирован аппаратно на последовательную - с большой долей вероятности ничего не заработает.
как аппратно сконфигурирован в вашем случае - одним китайцам известно ,но судя по картинкам из сообщения #0 : последовательно ибо написано SPI на PCB плате.
то есть вам нужно инциализировать дравер с последовательным(SPI) поддключением экрана , я не знаю как это делаеться средствами ардуино ,но судя по описаному здесь все кроеться в файле utility/mcufriend_serial.h
судя по шелкографии на PCB в сообщении #0 ,на обоих платах имеються контакты (сверху - вниз) :
CS,DC,SDI(MOSI),CLK,SDO(MISO) ,соотвественно , физическо вам надо подлючить эти пины к пина STM32 :
LCD Module <-> STM32 SPI
CS --------------- CS
DC ----------------Не знаю, более знающие и опытные поправят.
SDI(MOSI) ------ MOSI
CLK -------- CLK
SDO(MISO) ----- MISO
GND ----- GND
какие имненно пины будут сконфигурированы на стороне STM32 как SPI ,зависит от вас и инициализации драйвера .
имейте ввиду ,что может быть ,что китайцы перепутали с маркировкой на плате между собой пины SDI и SDO(но это не точно ).
по тачу :
это отдельный контроллер на той плате где он есть(какая шина - хз,об этом ниже)которые находиться между тач панелью(на экране) и STM32 .судя по картинке он работае по интерфейсу SPI (не знаю могут ли быть для тача те же лини данных SPI что и для ili9341 - подтерживает ли такое соедниение графическая библиотека ? если да ,то пин CS у них должен быть физически разный)
инициализация экрана с тачем происходить во время инициализации библиотеки экрана(как конкретно? я не знаю, но графическя библиотека должна "знать" о наличии тача ,если она вообще потдерживает работу с тачем )
еще по тачу : то что пины тача соотвествуют обозначению SPI , это одно , на деле же может быть что контреолер тача работает по I2C.
важно: если графическая библиотека не принимает в свою инициализанию как парметр пин RESET экрана ,то обязательно ,перед инициализацией библиотеки ,сборсить (выставить логический 0) на пине RESET экрана время от 20 до 100 миллисекунд, потом поднять на логическую 1 и потом производить инициализацию библиотеки (котроллера экрана)
mixail844, обращу внимание на некоторые важные моменты:
- автор первого сообщения и автор последнего вопроса - разные люди, соответвенно и дисплей у последнего - совсем другой чем на картинке
- дисплей на картинке продается как SPI. сконфигурирован как SPI. имеет тач SPI и явно прописанные CS пины для обоих интерфейсов. К чему были все это многословные рассуэдения о переконфигурировании дисплеев?
простите - вы это трезвый писали?
А для 16бит?
Извините ), надо было сразу уточнять.
Нашел только такое:
михал, эта "шина SPI" относится к Sd -карточке, что абсолютно очевидно из имен пинов |SD_SS|SD_DI|SD_DO|SD_SCK. И на разводку платы посмотрите - на картинке в первом сообщении отлично прослеживается, куда идут дорожки от этих контактов
михал, эта "шина SPI" относится к Sd -карточке, что абсолютно очевидно из имен пинов |SD_SS|SD_DI|SD_DO|SD_SCK. И на разводку платы посмотрите - на картинке в первом сообщении отлично прослеживается, куда идут дорожки от этих контактов
угу ,вы правы ,позже заметил. не успел поправить , вы на мое сообщение ответили :D
Вы в этой ветке спрашиваете или отвечаете? - у меня такой чувство, что вы в этих дисплеях разбираетесь меньше тех, кто тут вопросы задавал :)
Вы в этой ветке спрашиваете или отвечаете? - у меня такой чувство, что вы в этих дисплеях разбираетесь меньше тех, кто тут вопросы задавал :)
конкретно с ардуиновскими модулями и библиотеками не работал но опыт с графическими контроллерами и библиотеками есть
(или мешает ? )
из за отсутсвия опыта по связке контроллеров дисплеев и SD карточек, не могу однозначно утверждать возможно ли их посадить на одну шину данных : с одной стороны "SPI он и в африке SPI" , с другой видел несколько модулей экранов(но не работал с ними) где SPI для SD карточки и SPI для контроллера экрана выведены отдельно , если все так просто, почему не вывести 1 SPI и 2 CS ,может китайцы что то знают
ааа я походу тупанул : SPI не равно |SD_SS|SD_DI|SD_DO|SD_SCK|
перемешались мухи с котлетами
Вы в этой ветке спрашиваете или отвечаете? - у меня такой чувство, что вы в этих дисплеях разбираетесь меньше тех, кто тут вопросы задавал :)
Да шо ж ты злой-то такой сёдня? С людями надо памягше...
Да шо ж ты злой-то такой сёдня? С людями надо памягше...
"истинное мурло" под маской не спрячешь, все равно вылезет.
Лана. сигнал принял. буду потише.
Лана. сигнал принял. буду потише.
Не, просто mixail844 он какбэ тут совсем не новичок.