Demosfen 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Нужен небольшой контроллер с графическим интерфейсом. Планирую использовать LPC2148 + S1D13705 + TFT с TouchScr. Есть ли возможность использовать какой-нибудь несложный GUI. Особых изысков не надо, кнопки, слайдеры, вывод битмап. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Особых изысков не надо, кнопки, слайдеры, вывод битмап. То, что Вы назвали, без особого труда делается "с нуля" самостоятельно. Ещё важен вывод текста: там лучше позаимствовать чьи-то форматы шрифтов. Мы взяли из uC/GUI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Demosfen 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Я собственно к этому и склонялся. А насчет шрифтов хорошая идея. Надо будет воспользоваться. А вы кнопочки делали с полутонами и имитацией нажатия или просто контуром. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wano 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба С библиотекой uC/GUI идут примерчики. Там много кнопочек,движков и прочих элементов управления. Другое дело,что сама библиотека это просто монстр. Чем разбираться в ней так лучше самому накарябать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба А вы кнопочки делали с полутонами и имитацией нажатия или просто контуром. С полутонами и имитацией нажатия. Вот один из скриншотов: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Demosfen 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба С полутонами и имитацией нажатия. Вот один из скриншотов: Неплохо, а ресурсов не много сожрало ? С библиотекой uC/GUI идут примерчики. Там много кнопочек,движков и прочих элементов управления. Другое дело,что сама библиотека это просто монстр. Чем разбираться в ней так лучше самому накарябать. Я пытался как-то использовать эту библиотеку - не влезла в память. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Неплохо, а ресурсов не много сожрало ? Какие могут понадобиться ресурсы для рисования нескольких прямоугольников, пары битмапов, вывода нескольких строк? Всё получается довольно скромно. Естественно, тратится ПЗУ на шрифты и битмапы, расход памяти на это можно легко подсчитать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 26 июня, 2007 Опубликовано 26 июня, 2007 · Жалоба Какие могут понадобиться ресурсы для рисования нескольких прямоугольников, пары битмапов, вывода нескольких строк? Всё получается довольно скромно. Естественно, тратится ПЗУ на шрифты и битмапы, расход памяти на это можно легко подсчитать. Если требуется скорость на дисплее или использование окон (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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Demosfen 0 27 июня, 2007 Опубликовано 27 июня, 2007 · Жалоба Если требуется скорость на дисплее или использование окон (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 Я так понял можно обойтись собственными ресурсами прицессора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wano 0 27 июня, 2007 Опубликовано 27 июня, 2007 · Жалоба Подскажите плиз люди.Конечно стандартные библиотеки нет вопросов отлично. Но как можно будет заливать каждый раз во флэш такой объём? В оперативку 2148 это никак не влезет. Может я не знаю и занимаюсь дуростью,когда приходится каждый раз все битмапы и шрифты лить. Подскажите,ведь можно же залить фсё это ,к примеру, в конец флэша контроллера,а потом использовать. Ведь записать на бумажку адреса начал того или иного элемента проще чем перезаписывать каждый раз. Может и функции можно. Внешняя RAM - выход,ну а если нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 27 июня, 2007 Опубликовано 27 июня, 2007 · Жалоба Ведь записать на бумажку адреса начал того или иного элемента проще чем перезаписывать каждый раз. Может и функции можно. Внешняя RAM - выход,ну а если нет.Я лил. Но записывать адреса на бумажку - то еще извращение. Почему бы не объяснить линкеру, что есть два адресных пространства, положить в одно из них код, во второе - константы (фонты и т.д) и не попростить линкер сгенерить два файла? Тогда линкер будет сам подставлять необходимые адреса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 27 июня, 2007 Опубликовано 27 июня, 2007 · Жалоба Я так понял можно обойтись собственными ресурсами прицессора. Ну да, у меня стоит LPC2138, вся программа эхолота с ГУИ (обрезанным) заняла 75К flash и 25К RAM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wano 0 28 июня, 2007 Опубликовано 28 июня, 2007 · Жалоба Я лил. Но записывать адреса на бумажку - то еще извращение. Почему бы не объяснить линкеру, что есть два адресных пространства, положить в одно из них код, во второе - константы (фонты и т.д) и не попростить линкер сгенерить два файла? Тогда линкер будет сам подставлять необходимые адреса. Подскажите коим образом можно делить на два адресных пространства флэш память контроллера. Я так понимаю в Кейле это настройки ROM1 RAM1 ROM2 RAM2 . Если так,но что делать дальше,как к примеру массив-картинку записать по какому-то адресу? Вот в книжке Трэвора на стр. 47 есть раздел "Размещение объектов по фиксированным адресам" int checksum_at 0x40000000 Эт тоже всё хорошо,один раз скомпилили - записали во флэш где-то в конце массив.А следующий раз? Убрать из него инициалиацию,но оставить по тому же адресу. Напишите пару строчек ликбеза,кто знает как решить проблему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 35 28 июня, 2007 Опубликовано 28 июня, 2007 · Жалоба Планирую использовать LPC2148 + S1D13705 + TFT с TouchScr. А как вы его аппаратно подключаете S1D13705 к LPC2148? А то от реализации интерфейса логика построения gui немного меняется. Т.е выполнимо ли на данном интерфейсе операции чтения- модификация-запись или нет? По причине отсутствия у LPC2148 параллельной шины возможны два варианта- симуляция параллельной шины программно или цепляться на быструю последовательную шину. И вот во втором случае чтение- модификация-запись в силу блочности обмена по SSP требуют модификации ГУИ, иначе все тормозить будет безбожно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lebiga 0 28 июня, 2007 Опубликовано 28 июня, 2007 (изменено) · Жалоба А как вы его аппаратно подключаете S1D13705 к LPC2148? А то от реализации интерфейса логика построения gui немного меняется. Т.е выполнимо ли на данном интерфейсе операции чтения- модификация-запись или нет? По причине отсутствия у LPC2148 параллельной шины возможны два варианта- симуляция параллельной шины программно или цепляться на быструю последовательную шину. И вот во втором случае чтение- модификация-запись в силу блочности обмена по SSP требуют модификации ГУИ, иначе все тормозить будет безбожно. Я поставил две защелки HC573 на адрес - т.е. симуляция параллельной шины. В том то и дело, что операция чтение-модиф-запись - это основная операция при этой конфигурации, ведь используется в основном память S1D13705. Причем рекомендация - напишите сначала код для записи данных в S1D13705- потом делайте схему - так не промахнетесь с быстродействием, типа A16 переносить. Изменено 28 июня, 2007 пользователем lebiga Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться