|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
STemWin на STM32F4. Первый опыт. Вопросы.21.12.2013, 23:06. Показов 828353. Ответов 1103
Метки нет (Все метки)
Вот, задумавшись о GUI, решил попробовать эту либу.
Моё железо - STM32F4 (Dyscovery) и дисплей с Ebay разрешением 800х480 на контроллере SSD1963 с 16-битным интерфейсом. Эта аппаратная связка давно обкатана и работает. Под это дело я писал свои драйверы и библиотеки. Работал с дисплеем через DMA и без него. Всё прекрасно. Т.к. никаких заводских плат со встроенными дисплеями у меня нет, мне пришлось править и переписывать под себя конфигурационные модули STemWin. Для старта взял стандартный пример из ST-шного архива. Дальше стартовой заставки я не продвинулся, т.к. там нужен тач, а я пока не разобрался, как туда подключить мой драйвер тача. Но и тут проблемы. В итоге получилось 2 варианта - на драйвере FlexColor (штатный драйвер STemWin, поддерживающий SSD1963) и мой собственный. Оба прилагаю. В целом оба варианта запустились в общем-то с пол-оборота, но есть ряд непоняток: 1. На драйвере FlexColor некоторые строчки текста на экране выглядят как некий мусор. Я понимаю, что я мог где-то ошибиться, но тогда бы не работало ни-че-го, т.к. пользовательский драйвер для Flex-Color представляет собой 4 функции - запись команды/данных и запись/чтения блока. По сути это функции работы с FSMC. Плюс функция низкоуровневой инициализации SSD1963. 2. На моём драйвере все строчки рисуются нормально, но нету стрелочки курсора мыши, который есть на FlexColor. Подозреваю, что это из-за отсутствия функции вывода картинки на дисплей. В драйвере дисплея она у меня есть, но я не понял, куда её запихать в ST-шную прослойку. Да и тормозит заметно в сравнении с FlexColor. Если кто разбирался, подскажите пожалуйста. Если надо, я выложу полные проекты на кокосе. Блок CRC включён (просто знаю, что на этом многие ловятся, но это не мой случай). Ещё один вопрос про память для GUI. Я видел конструкцию
Внешней памяти у меня нет, в силу урезанности FSMC на 100-ногих процах. Или что, оно работает только на 429-Dyscovery, где стоит 8-метровый чип SDROM? Охренеть... Дал ей пока 64К, но рекомендаций по этим объёмам я не нашёл. Сколько ей надо? Спасибо. [23.93 Кб] [18.45 Кб]
1
|
||||||
| 21.12.2013, 23:06 | |
|
Ответы с готовыми решениями:
1103
Измерение уровней звука. Вопросы. Первый опыт. Сравнительно мистический баг в Coocox: stemwin и stm32f4 Вопросы по STM32F4 |
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||||
| 22.12.2013, 00:29 | ||||
0
|
||||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
| 22.12.2013, 00:33 | |
|
Р.S. В либе от ST забыли включить hard DSP. Поэтому отказался от неё и пользуюсь Keil.
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
|
|
| 22.12.2013, 09:03 | |
|
hd44780. схемку не скините подключения? SD бортовую тоже подключали? Лещит у меня такой 5" думаю сделать суровый российский смартфон :-)
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
| 22.12.2013, 13:39 | ||||||
|
__bt__, спасибо, буду смотреть. Сейчас решил тачем заняться.
masker, ловите моё подключение:
SD-шку подключал, вроде работала, но особо с ней не игрался. Пока предпочитаю USB флэшку :) . F_CS - это CS микросхемы флэш-памяти. У неё интерфейс SPI, сидит она обычно на тех же ногах, что и SD. На моём дисплее её не было, я её отдельно покупал и припаивал.
0
|
||||||
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||
| 22.12.2013, 14:36 | ||
0
|
||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 22.12.2013, 15:26 | |
|
Спасибо, пока не надо.
У меня есть рабочий драйверок через SPI3 плюс пара доп. ног для nCS и IRQ. Сижу ковыряю, как его привинтить к STemWin. Нашёл в интернете примерчик, изучаю.
0
|
|
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
| 22.12.2013, 15:58 | |
|
посмотрите пример от StEmWin. Там драйвер на SPI шине грамотно привязан к либе.
0
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 22.12.2013, 19:59 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
|
||
| 22.12.2013, 20:11 | ||
он дал)) даташиты на китайском, а пример с китайскими комментами и явно не под STM32F4-Dyscovery (к которой я хочу его прикрутить)
0
|
||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 23.12.2013, 00:46 | |
|
Dimox, ловите.
Всё шаманство сидит в функции SSD1963_Init. Всё остальное можете не трогать, оно одинаково для всех.. Тупой копи-паст с чужих проектов здесь вряд ли прокатит, т.к. у разных моделей дисплеев разные матрицы и это заметно влияет на инициализацию. Вот мой - http://www.ebay.com/itm/New-5-0-800-480 ... 4658wt_898 [26.99 Кб]
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
|
||
| 23.12.2013, 01:34 | ||
Подскажите, чем подключали дисплей к плате? Купил шлейф, но читал на форумах, что из-за приличной длины (20см) наблюдаются глюки вплоть до неработоспособности. На всякий случай купил контакты и разъемы, чтоб укоротить. Стоит заморачиваться?
0
|
||
|
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
|
|
| 23.12.2013, 06:18 | |
|
hd44780 какой у вас чип сенсора?
У меня есть рабочая библиотека для ADS7843
0
|
|
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
||
| 23.12.2013, 13:01 | ||
0
|
||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 23.12.2013, 13:26 | |
|
Dimox, про шлейфы, честно - не знаю.
Первое время я пользовался 40-жильными IDE шлейфами от старых компьютерных винтов, оно работало нормально. Но потом, когда я прикрутил DMA к FSMC и начал гонять на дисплей картинки, я поймал кучу глюков - картинки портились, на них отчётливо были заметны пиксели с искажёнными цветами, ряд пикселей вообще терялся и не отрисовывался, из-за этого картинка перекашивалась, зачастую превращаясь в какое-то цветное месиво из точек. Скорее всего это происходило из-за искажений сигнала в шлейфе либо из-за длины шлейфа (всё-таки 40 см...) либо из-за плохого контакта в разъёмах. В конце-концов меня это достало и я впаял в макетку разъём, в который втыкаю дисплей непосредственно. С тех пор, вот уж 4 месяца тех проблем нет ... На фотографиях разных демо-плат видел дисплеи на шлейфах длиной сантиметров 10, не больше. Поэтому мой Вам совет - не используйте шлейф вообще, впаяйте разъём в плату. Конечно, если Ваша конструкция это позволяет ... Насчёт примеров, присланных Вам производителем. Вам надо оттуда взять только инициализацию дисплея и всё. Всё остальное у всех одинаково. Я когда парился со своим дисплеем, я вообще выдирал инициализацию с какого-то проца на x51 ядре.... masker, на этих китаёзных дисплеях стоит чип XPT2046. Других я там не видел. Это некий китайский аналог ADS7843, у них есть какие-то отличия, но по цоколёвке и по командам они идентичны. Так что можете считать, что у Вас ADS7843. Хотя, лучше посмотрите, что там стоит конкретно на Вашем дисплее. Китайцы - народ непредсказуемый. Единственное, что Вам придётся подбирать самому - привязку координат тача к координатам дисплея. ADS7843 - это, фактически простейший 2-х канальный АЦП, он даёт координаты в виде чисел 0..4095 (если включить 12-битный режим), а привязку этих чисел к экранным координатам Вам надо делать самому. Возможные особенности: 1. На разных тачах и дисплеях максимальное значение, выдаваемое АЦП, не 4095, а чуть ли не в 2 раза меньше. Это надо определять в каждом конкретном случае, иначе будет фигня. 2. Начало координат дисплея и начало координат тача - совершенно разные вещи. Производители лепят сенсоры на дисплеи руководствуясь хрен знает чем, поэтому в каком направлении эти координаты увеличиваются, а в каком уменьшаются, определяйте опять же на месте. Ну и на закуску ещё одна хрень. Я понимаю, что защитный полиэтилен на дисплее защищает его от царапин, многие лепят его на мобилы и прочее. Мол, гламурненько выглядит, цветовая гамма красивше и прочий бред озабоченных блондинок ... Но в моём конкретном случае из-за этой долбаной плёнки тач дико глючил, на выходе IRQ контроллера тача почти всё время были импульсы с частотой под 100 кГц (даже когда в него никто ничем не тычет). В итоге тач был фактически неработоспособен. Уже буквально вчера я содрал с него эту плёнку и он сразу же заработал как положено. А я его уже мысленно похоронил ....
0
|
|
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
||
| 23.12.2013, 14:31 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
|
|
| 23.12.2013, 14:35 | |
|
hd44780, про ADS7843 в курсе, по этому нужно делать калибровку перед использованием устройства. а потом хранить где-то.
У меня набор Open407V-D там экран 3.5" с этим сенсором, поставляемый пример работы с этим экраном я переделал под Coosox, но там LCD другой. Про пленку был прикол один из практики: Попросили посмотреть в мед. лаборатории аппарат-анализатор, что-то сбоил, в нем интерфейс через аналогичный экран с тач, так вот на наем за более чем год работы эта пленка стала практически матовой, я недолго думая содрал ее, чем вызвал бешеную радость лаборанш, они оказывается мучились выглядывали сквозь ее и не знали что это была защитная пленка :-)
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
|
||
| 23.12.2013, 16:01 | ||
Немного повозился с тачскрином, оказывается, если не делать подтяжку на TP_IRQ ads7843, то считываемые данные скачут в пределах поля видимости, и сложно отследить — реальное нажатие или глюк. может оно?
0
|
||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 23.12.2013, 19:24 | |
|
Да pull-up там на дисплее есть. Ладно, тач уже работает нормально.
OtyxPM, если выход IRQ тач-контроллера реализует некую случайную функцию, мало зависящую от реальных нажатий, то драйвер сложно написать :) . Я сейчас продолжаю то, о чём писал вначале - STemWin.
0
|
|
| 23.12.2013, 19:24 | |
|
Помогаю со студенческими работами здесь
20
STM32F4-Discovery(подключение и глупые вопросы) STM32F4+ETH(Вопросы по PHY KSZ8863) [решено]stm32f4 ethernet phy вопросы Первый опыт Первый опыт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|