|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 7:20 am
|
Страница 1 от 1
|
[ 10 мнения ] |
|
Как се пише UI в 1К рам и 84x48px?
| Автор |
Съобщение |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
 Как се пише UI в 1К рам и 84x48px?
Здравейте пак,
Много мерси за помощта по захранването, хардуера е горе-долу готов вече. Сега програмирането ме мъчи.
Използвам ATmega168 (с опция за ъпгрейд до 328) и avr-gcc. Устройството ми използва дисплей от Нокиа 3310 и един скрол от стара мишка за input. Драйверите за тез компоненти са написани, input-а е изцяло в прекъсвания. За сега всичко е чисто C. Опитите да смеся C++ със C-то за сега се провалят, avr-libc прави проблеми. Знам, че има начин и разни хора са го правили, та ако се наложи ще копам и в тази посока. Следващата стъпка е потребителския интерфейс, който малко ме затруднява, да не кажа много. С програмирането съм горе долу в час, но обикновено RAM-та ме притеснява като стане над 128MB ;D. Нямам никакъв опит в писането на по-сериозни неща за микроконтролери и още не мога да измисля как да организирам нещата. Рових из нета за някой проект от който мога да безскрупулно да открадна идеи, ама нейсе, нищо не намерих.
Можете ли да ми дадете пример как да организирам кода си за UI? Общи насоки?
C или C++?
Линкове към неща които могат да бъдат полезни?
Edit: Под потребителски интерфейс разбирам един "Home" екран (той се чертае лесно), едно-две менюта, няколко екрана за настройване на параметри с input контроли за цифри, OK и Cancel. Стандартните неща.
|
| Нед Окт 25, 2009 11:24 am |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Нищо особенно. Просто си чертаеш по екрана а не в буферна памет и тогава да пращаш към дисплея.
Нещата стават по лесно на C++ но съм забелязал че иска с към 20 тина процента повече стек в сравнение с същото нещо написано на C. Това съм го забелязал точно при GUI. По моите наблюдения като програмна памет малко се раздува проекта от C++. Тия наблюдения за за IAR при AVR и при АРМ7.
|
| Нед Окт 25, 2009 3:20 pm |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
Ха, сега разбирам хората на които аз обяснявам как се чувстват ...
Най-добре ще ми е ако мога да гледам примерно изпълнение. Вие от къде сте се учили?
Намерих това, което е даже повече като функционалност от необходимото ми. Само дето при avr-gcc нещата с РОМ-а са малко по-различни. Как, например, да сложа пойнтер към функция в програмното пространство?
|
| Нед Окт 25, 2009 3:49 pm |
|
 |
|
smtp
Ранг: Новодошъл
Регистриран на: Нед Яну 18, 2009 1:28 pm Мнения: 110
|
научи се да МИСЛИШ !
ако ти идва сложно (мисленето) - си сбъркал професията !
|
| Нед Окт 25, 2009 3:53 pm |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
|
| Нед Окт 25, 2009 3:59 pm |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Не се забивай с тези готови UI. За несложно меню не ти са необходими готови функции, структури. Реши какво ще рисуваш по дисплея като менюта, четеш бутоните и пишеш директно на дисплейчето евентуално промени или каквото там трябва да се вижда, Киров ти го каза вече. Я обясни какво точно като структура и функционалност трябва да направиш, ще бутнем едно рамо със съвети.
|
| Нед Окт 25, 2009 6:59 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Като начало, ползваш ли AVR Studio, или нещо друго?
|
| Нед Окт 25, 2009 6:59 pm |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
Не искам да забивам с готови решения, а просто да видя един два примера -- така най лесно се учи
Използвам Eclipse с AVR Plugin, avr-gcc на Linux. Изобщо, целия проект го правя само с отворен код (KiCAD, OpenOffice, Dia ...). На такива като мен им викат freetards.
Мисля, че хванах някаква посока вече, да се помъча, пък като забия ще питам пак 
|
| Нед Окт 25, 2009 7:18 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Значи буфер за монохромен дисплей 84х48 заема 504 байта, т.е. половината от това, което имаш.
|
| Нед Окт 25, 2009 8:39 pm |
|
 |
|
lz3060
Ранг: Минаващ
Регистриран на: Сря Авг 22, 2007 3:04 pm Мнения: 48
|
Така е, ама правя и разни интерполации с по 6 коефициента, на места може би една върху друга, а и не знам как да проверя кога колко памет се използва. Единственият инструмент за това под Линукс е simulavr, обаче не се компилира за x86_64. Пък и не ми е необходим буфер, ще се чертае директно.
За сега се отказах от ++. Мерси за насоките.
Ъпдейт: Наистина не е нищо особено 
|
| Нед Окт 25, 2009 9:32 pm |
|
|
|
Страница 1 от 1
|
[ 10 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|