|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
STemWin на STM32F4. Первый опыт. Вопросы.21.12.2013, 23:06. Показов 835269. Ответов 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 |
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
|
| 20.03.2017, 12:50 | |
|
Спасибо за ответ.
Вы совершенно верно определили, что у меня контроллер SSD1963, драйвер FlexColor, работа через FSMC без DMA. Ход Ваших мыслей понятен, но мне интересно было что происходит в моем случае, переход на LTDC пока что не рассматриваю, девайс в количестве 2 шт. В дальнейшем учту Ваш опыт.
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 21.03.2017, 08:31 | |
|
Подскажите как можно убрать со Stydir фокус (рамку во круг когда коснешься)?
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 21.03.2017, 11:27 | |
|
Переставить фокус на какой-то другой контрол (например, кнопку ОК)?
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
||||||
| 21.03.2017, 12:19 | ||||||
|
Почему-то когда задаю цвет кнопки BUTTON_SetBkColor(hItem,BUTTON_CI_DISABL ED ,GUI_RED); не чего не происходит а когда задаю цвет текста BUTTON_SetTextColor(hItem,BUTTON_CI_PRES SED ,GUI_YELLOW); все работает.
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||
| 21.03.2017, 12:41 | ||
BUTTON_CI_DISABLED -- цвет для задизейбленой кнопки. Если не ошибаюсь :)
0
|
||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|||||||
| 21.03.2017, 12:45 | |||||||
0
|
|||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 21.03.2017, 12:51 | |
|
Дока гласит:
BUTTON_CI_DISABLED Sets the color to be used when button is disabtid. Т.е. этот цвет используется, когда вы сделаете кнопке disable. Да, она перестанет работать, но при этом будет отрисована указанным цветом. А вы как хотите?
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
||||||
| 21.03.2017, 12:55 | ||||||
|
я хочу чтобы цвет кнопки при нажатие был красным, а при отпуске желтым. Так тоже не работает
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
| 21.03.2017, 13:26 | ||||||
|
а так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 21.03.2017, 14:32 | |
|
Нет не работает. Текст меняет цвет, а кнопка не хочет. Окна рисую с помощью guibilder. И что самое интересное SLIDER_SetFocusColor(hItem,GUI_WHITE); тоже не работает.
0
|
|
|
0 / 0 / 0
Регистрация: 24.07.2012
Сообщений: 49
|
|
| 21.03.2017, 17:11 | |
|
если используете версию старше 5.24, то по умолчанию включены скины на виджеты. При скинах обработчик изменения цвета другой. Выход:
1. Отключить скины глобально 2. Отключить скин только для данной кнопки 3. Использовать обработчик для скинов, см. примеры где используются скины.
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|||||||||||
| 22.03.2017, 09:08 | |||||||||||
|
написал для skin
Для кнопки цвета работают. Почитал тему и так и не понял как правильно закрывать окно и переходить в новое ? Делаю так
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
|||||||
| 22.03.2017, 11:58 | |||||||
А разве вместо SLIDER_GetSkinFlexProps(&Props,SLIDER_SK INFLEX_PI_PRESSED); не должно быть SLIDER_SetSkinFlexProps(&Props,SLIDER_SK INFLEX_PI_PRESSED); в третьей строчке кода?
0
|
|||||||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
||||||
| 23.03.2017, 09:11 | ||||||
|
Да затупил. Хочу еще раз уточнить, как правильно закрывать окно и переходить в новое? Делаю так, но не знаю правильно ли это?
0
|
||||||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||||||
| 23.03.2017, 09:18 | ||||||
|
Да, правильно.
Только я GUI_EndDialog(pMsg->hWin, 0); делаю в оконной функции, а WM_Delete вне её. Но критично это или нет, не знаю. В итоге вызов/удаление каждого окна у меня выглядит так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 72
|
|
| 25.03.2017, 10:51 | |
|
Так вроде GUI_EndDialog делает удаление окна, я в своем коде делаю только GUI_EndDialog без вызова WM_DeleteWymdow, все нормально живет. Но нужно еще раз ман переглядеть, что то мне подсказывает, что все же WM_DeleteWymdow не нужно вызывать.
0
|
|
|
odrvyho
|
|||||||
| 25.03.2017, 15:06 | |||||||
А у меня другая оказия - передаю в виджет TEXT значения с АЦП в основном цикле примерно следующим образом
Уж думаю на то, чтобы обновлять весь экран, но как-то это не по-христиански обновлять весь экран ради нескольких текстовых сообщений. Никто не сталкивался с подобной какой? PS. Всё решилось заменой сторонней функции String_to_Array на sprymtf. Всем спасибо - периодически эту ветку надо перелистывать назад)) |
|||||||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 27.03.2017, 05:35 | |
|
функция WM_SendMessageNoPara() просто отправляет сообщение окну или перезаписывает его? При вызове функции WM_SendMessageNoPara() ни чего чистить не надо?
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||
| 27.03.2017, 09:31 | ||
Не надо ничего чистить. И никто ничего не перезаписывает. Она отправляет сообщение и всё. Реагирует окно на него или нет - тоже пофиг.
0
|
||
|
rukh
|
|
| 29.03.2017, 14:46 | |
|
Добрый день.
Прикручиваю китайский дисплей и хочу воспользоваться STemWin. Скачал с сайта st библиотеку. Почитал в этой теме как её подключать и что сделать для создания собственного драйвера. Множество раз упоминается библиотечный файл с параметрами LCD_Conf.с В моей версии библиотеки такого нет, есть LCDConf_FlexColor_Template.c и LCDConf_Lin_Template.c. Контроллер моего дисплея не указан в списке поддерживаемых segger. Поэтому, как я понимаю, мне следует воспользоваться LCDConf_Lin_Template.c Добавляю в проект GUIConf.h, GUIDRV_Template.c(корректированный мной) и LCDConf_Lin_Template.c. Получаю 16 ошибок и 4 предупреждения при компиляции (см. картинку). Среда разработки - Keil uvision 5. Правильно ли я понял, что мн нужно использовать для своего проекта LCDConf_Lin_Template.c ? Подскажите пожалуйста в чем проблема при компиляции? Заранее спасибо |
|
| 29.03.2017, 14:46 | |
|
STM32F4-Discovery(подключение и глупые вопросы) STM32F4+ETH(Вопросы по PHY KSZ8863) [решено]stm32f4 ethernet phy вопросы Первый опыт Первый опыт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|