|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jun 26 2007, 10:31
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 20-01-07
Пользователь №: 24 623

|
Я собственно к этому и склонялся. А насчет шрифтов хорошая идея. Надо будет воспользоваться. А вы кнопочки делали с полутонами и имитацией нажатия или просто контуром.
|
|
|
|
|
Jun 26 2007, 12:06
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 20-01-07
Пользователь №: 24 623

|
Цитата(scifi @ Jun 26 2007, 14:53)  С полутонами и имитацией нажатия. Вот один из скриншотов: Неплохо, а ресурсов не много сожрало ? Цитата(Wano @ Jun 26 2007, 14:46)  С библиотекой uC/GUI идут примерчики. Там много кнопочек,движков и прочих элементов управления. Другое дело,что сама библиотека это просто монстр. Чем разбираться в ней так лучше самому накарябать. Я пытался как-то использовать эту библиотеку - не влезла в память.
|
|
|
|
|
Jun 26 2007, 20:04
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(scifi @ Jun 26 2007, 17:09)  Какие могут понадобиться ресурсы для рисования нескольких прямоугольников, пары битмапов, вывода нескольких строк? Всё получается довольно скромно. Естественно, тратится ПЗУ на шрифты и битмапы, расход памяти на это можно легко подсчитать. Если требуется скорость на дисплее или использование окон (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
|
|
|
|
|
Jun 27 2007, 11:11
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 20-01-07
Пользователь №: 24 623

|
Цитата(lebiga @ Jun 27 2007, 00:04)  Если требуется скорость на дисплее или использование окон (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 Я так понял можно обойтись собственными ресурсами прицессора.
|
|
|
|
|
Jun 27 2007, 20:05
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(Dogmatik @ Jun 27 2007, 15:11)  Я так понял можно обойтись собственными ресурсами прицессора. Ну да, у меня стоит LPC2138, вся программа эхолота с ГУИ (обрезанным) заняла 75К flash и 25К RAM
|
|
|
|
|
Jun 28 2007, 07:59
|
Местный
  
Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737

|
Цитата(Сергей Борщ @ Jun 27 2007, 15:41)  Я лил. Но записывать адреса на бумажку - то еще извращение. Почему бы не объяснить линкеру, что есть два адресных пространства, положить в одно из них код, во второе - константы (фонты и т.д) и не попростить линкер сгенерить два файла? Тогда линкер будет сам подставлять необходимые адреса. Подскажите коим образом можно делить на два адресных пространства флэш память контроллера. Я так понимаю в Кейле это настройки ROM1 RAM1 ROM2 RAM2 . Если так,но что делать дальше,как к примеру массив-картинку записать по какому-то адресу? Вот в книжке Трэвора на стр. 47 есть раздел "Размещение объектов по фиксированным адресам" int checksum_at 0x40000000 Эт тоже всё хорошо,один раз скомпилили - записали во флэш где-то в конце массив.А следующий раз? Убрать из него инициалиацию,но оставить по тому же адресу. Напишите пару строчек ликбеза,кто знает как решить проблему.
|
|
|
|
|
Jun 28 2007, 17:15
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(khach @ Jun 28 2007, 13:08)  А как вы его аппаратно подключаете S1D13705 к LPC2148? А то от реализации интерфейса логика построения gui немного меняется. Т.е выполнимо ли на данном интерфейсе операции чтения- модификация-запись или нет? По причине отсутствия у LPC2148 параллельной шины возможны два варианта- симуляция параллельной шины программно или цепляться на быструю последовательную шину. И вот во втором случае чтение- модификация-запись в силу блочности обмена по SSP требуют модификации ГУИ, иначе все тормозить будет безбожно. Я поставил две защелки HC573 на адрес - т.е. симуляция параллельной шины. В том то и дело, что операция чтение-модиф-запись - это основная операция при этой конфигурации, ведь используется в основном память S1D13705. Причем рекомендация - напишите сначала код для записи данных в S1D13705- потом делайте схему - так не промахнетесь с быстродействием, типа A16 переносить.
Сообщение отредактировал lebiga - Jun 28 2007, 17:16
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|