Ого! Представляю насколько трудоёмкий процесс написания такой программы для STM32 с меню и иконками, если не пользоваться готовыми решениями типа LVGL или TouchGFX . Для качественного графического интерфейса нужно 1, а то и 2 мегабайта флеш памяти. Посмотрите в сторону ESP32 или STM32H, там где сразу распаяна большая флеш на плате.
@ПавелПупкин-й4л9 ай бұрын
Да, пришлось время потратить, и при том это мой первый и пока единственный проект на STM32, что еще несколько усложнило дело. Готовые решения не использовал, если честно даже не знал про них, всё отрисовывается круглишками, палочками и тому подобным. Каждая иконка сделана в виде отдельной функции, которой можно присваивать координаты, цвета элементов, фона, и перечёркивание. Это позволяет одну и туже функцию многократно использовать в разных местах и разном исполнении, что экономит память. Например иконка входа на верху всего одна, вид цифровой или аналоговой синусоиды переключается при вызове функции, так же как и цвета элементов иконки подставляются при её вызове. В будущем если хватит памяти, то сделаю еще и переключение цветовых тем, там всего то надо будет менять подставляемые в функции цвета в зависимости от выбранной темы. В сторону ESP32 я поглядывал, даже купил, но там в плане свободных пинов как то скромновато, а мне и тех что у STM32 не хватило, пришлось добивать внешними микрухами. Но в целом вроде по памяти должен уложиться, хотя и в притык. Основное в принципе уже сделано, осталось добавить управление для ещё двух цапов и их меню настроек, но там вроде много занять не должно.
@profimax_ru9 ай бұрын
@@ПавелПупкин-й4л Да я понял что вы всю графику вручную программировали. Я тоже так раньше делал. Это гигантская и непроизводительная работа. Советую перейти на готовые библиотеки. Там же есть и готовые редакторы для GUI, например, SquareLine Studio. Считаю, что лучше потратить ещё одну тысячу рублей на мощный процессор и всё сделать за неделю-две с готовыми библиотеками, чем мучиться три месяца пытаясь запихнуть свой графический код в слабый процессор.
@andreykrasehin28239 ай бұрын
псевдографика
@ПавелПупкин-й4л9 ай бұрын
Ну не совсем, псевдографика это заранее нарисованные элементы конкретных и неизменных размеров, которые складываются потом как пазл. Тут линии, круглишки и квадратики произвольного размера и положения. Допустим команда, нарисовать линию с координатами X / Y в начале и X / Y в конце, или нарисовать круг такого то диаметра и координатами центра X / Y. Или квадрат, или треугольник, тогда задаются координаты каждого угла. Весь экран, все элементы меню, все иконки нарисованы так.