Перейти к содержанию
    

LPC2148 + S1D13705 посоветуйте GUI

Нужен небольшой контроллер с графическим интерфейсом.

Планирую использовать LPC2148 + S1D13705 + TFT с TouchScr.

Есть ли возможность использовать какой-нибудь несложный GUI.

Особых изысков не надо, кнопки, слайдеры, вывод битмап.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Особых изысков не надо, кнопки, слайдеры, вывод битмап.

То, что Вы назвали, без особого труда делается "с нуля" самостоятельно. Ещё важен вывод текста: там лучше позаимствовать чьи-то форматы шрифтов. Мы взяли из uC/GUI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я собственно к этому и склонялся.

А насчет шрифтов хорошая идея.

Надо будет воспользоваться.

А вы кнопочки делали с полутонами и имитацией нажатия или

просто контуром.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С библиотекой uC/GUI идут примерчики. Там много кнопочек,движков и прочих элементов управления. Другое дело,что сама библиотека это просто монстр. Чем разбираться в ней так лучше самому накарябать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы кнопочки делали с полутонами и имитацией нажатия или

просто контуром.

С полутонами и имитацией нажатия. Вот один из скриншотов:

post-25136-1182855162_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С полутонами и имитацией нажатия. Вот один из скриншотов:

Неплохо, а ресурсов не много сожрало ?

 

С библиотекой uC/GUI идут примерчики. Там много кнопочек,движков и прочих элементов управления. Другое дело,что сама библиотека это просто монстр. Чем разбираться в ней так лучше самому накарябать.

Я пытался как-то использовать эту библиотеку - не влезла в память.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неплохо, а ресурсов не много сожрало ?

Какие могут понадобиться ресурсы для рисования нескольких прямоугольников, пары битмапов, вывода нескольких строк? Всё получается довольно скромно. Естественно, тратится ПЗУ на шрифты и битмапы, расход памяти на это можно легко подсчитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие могут понадобиться ресурсы для рисования нескольких прямоугольников, пары битмапов, вывода нескольких строк? Всё получается довольно скромно. Естественно, тратится ПЗУ на шрифты и битмапы, расход памяти на это можно легко подсчитать.

 

Если требуется скорость на дисплее или использование окон (GUI_WINSUPPORT) - лучше использовать в uC/GUI режим GUI_SUPPORT_MEMDEV, но для этого нужно в системе выделить память - в зависимости от режима до 80КБ. Если только прямоугольники, шрифты и битмапы - можно использовать только память S1D13705. Я уже писал в другой теме - у меня S1D13705 подключена прямо на порты, причем некоторые сигналы S1D13705 можно не использовать (без BHE, BCLK соединил вместе с CLKI). Скорости хватает, чтобы регенерировать эхограмму за 0.1с (правда часть экрана). Насчет написать свое - если с нуля - не стоит и пытаться, вылавливать ошибки будешь намного дольше, чем разобраться в исходниках uc/Gui. Я для ускорения разработки просто скопировал 30 файлов в проект и скомпилировал. Знаю - так не правильно, нужно сделать просто линковку, но у меня это получилось за 1 день, а остальное время игрался с буквочками по желанию заказчика.

В гуи из больших таких изменений сделал - переписал макросы типа LCD_READ_MEM в lcdconf.h на функции, в которых дергаю ногами для работы с S1D13705

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если требуется скорость на дисплее или использование окон (GUI_WINSUPPORT) - лучше использовать в uC/GUI режим GUI_SUPPORT_MEMDEV, но для этого нужно в системе выделить память - в зависимости от режима до 80КБ. Если только прямоугольники, шрифты и битмапы - можно использовать только память S1D13705. Я уже писал в другой теме - у меня S1D13705 подключена прямо на порты, причем некоторые сигналы S1D13705 можно не использовать (без BHE, BCLK соединил вместе с CLKI). Скорости хватает, чтобы регенерировать эхограмму за 0.1с (правда часть экрана). Насчет написать свое - если с нуля - не стоит и пытаться, вылавливать ошибки будешь намного дольше, чем разобраться в исходниках uc/Gui. Я для ускорения разработки просто скопировал 30 файлов в проект и скомпилировал. Знаю - так не правильно, нужно сделать просто линковку, но у меня это получилось за 1 день, а остальное время игрался с буквочками по желанию заказчика.

В гуи из больших таких изменений сделал - переписал макросы типа LCD_READ_MEM в lcdconf.h на функции, в которых дергаю ногами для работы с S1D13705

Я так понял можно обойтись собственными ресурсами прицессора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите плиз люди.Конечно стандартные библиотеки нет вопросов отлично. Но как можно будет заливать каждый раз во флэш такой объём? В оперативку 2148 это никак не влезет. Может я не знаю и занимаюсь дуростью,когда приходится каждый раз все битмапы и шрифты лить. Подскажите,ведь можно же залить фсё это ,к примеру, в конец флэша контроллера,а потом использовать. Ведь записать на бумажку адреса начал того или иного элемента проще чем перезаписывать каждый раз. Может и функции можно. Внешняя RAM - выход,ну а если нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ведь записать на бумажку адреса начал того или иного элемента проще чем перезаписывать каждый раз. Может и функции можно. Внешняя RAM - выход,ну а если нет.
Я лил. Но записывать адреса на бумажку - то еще извращение. Почему бы не объяснить линкеру, что есть два адресных пространства, положить в одно из них код, во второе - константы (фонты и т.д) и не попростить линкер сгенерить два файла? Тогда линкер будет сам подставлять необходимые адреса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял можно обойтись собственными ресурсами прицессора.

Ну да, у меня стоит LPC2138, вся программа эхолота с ГУИ (обрезанным) заняла 75К flash и 25К RAM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я лил. Но записывать адреса на бумажку - то еще извращение. Почему бы не объяснить линкеру, что есть два адресных пространства, положить в одно из них код, во второе - константы (фонты и т.д) и не попростить линкер сгенерить два файла? Тогда линкер будет сам подставлять необходимые адреса.

 

Подскажите коим образом можно делить на два адресных пространства флэш память контроллера. Я так понимаю в Кейле это настройки ROM1 RAM1 ROM2 RAM2 . Если так,но что делать дальше,как к примеру массив-картинку записать по какому-то адресу?

 

Вот в книжке Трэвора на стр. 47 есть раздел "Размещение объектов по фиксированным адресам"

int checksum_at 0x40000000

 

Эт тоже всё хорошо,один раз скомпилили - записали во флэш где-то в конце массив.А следующий раз?

Убрать из него инициалиацию,но оставить по тому же адресу.

 

Напишите пару строчек ликбеза,кто знает как решить проблему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Планирую использовать LPC2148 + S1D13705 + TFT с TouchScr.

А как вы его аппаратно подключаете S1D13705 к LPC2148? А то от реализации интерфейса логика построения gui немного меняется. Т.е выполнимо ли на данном интерфейсе операции чтения- модификация-запись или нет? По причине отсутствия у LPC2148 параллельной шины возможны два варианта- симуляция параллельной шины программно или цепляться на быструю последовательную шину. И вот во втором случае чтение- модификация-запись в силу блочности обмена по SSP требуют модификации ГУИ, иначе все тормозить будет безбожно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как вы его аппаратно подключаете S1D13705 к LPC2148? А то от реализации интерфейса логика построения gui немного меняется. Т.е выполнимо ли на данном интерфейсе операции чтения- модификация-запись или нет? По причине отсутствия у LPC2148 параллельной шины возможны два варианта- симуляция параллельной шины программно или цепляться на быструю последовательную шину. И вот во втором случае чтение- модификация-запись в силу блочности обмена по SSP требуют модификации ГУИ, иначе все тормозить будет безбожно.

 

Я поставил две защелки HC573 на адрес - т.е. симуляция параллельной шины. В том то и дело, что операция чтение-модиф-запись - это основная операция при этой конфигурации, ведь используется в основном память S1D13705.

Причем рекомендация - напишите сначала код для записи данных в S1D13705- потом делайте схему - так не промахнетесь с быстродействием, типа A16 переносить.

Изменено пользователем lebiga

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...