| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Как се пише UI в 1К рам и 84x48px? http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=7250 |
Страница 1 от 1 |
| Автор: | lz3060 [ Нед Окт 25, 2009 11:24 am ] |
| Заглавие: | Как се пише 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. Стандартните неща. |
|
| Автор: | Nikola Kirov [ Нед Окт 25, 2009 3:20 pm ] |
| Заглавие: | |
Нищо особенно. Просто си чертаеш по екрана а не в буферна памет и тогава да пращаш към дисплея. Нещата стават по лесно на C++ но съм забелязал че иска с към 20 тина процента повече стек в сравнение с същото нещо написано на C. Това съм го забелязал точно при GUI. По моите наблюдения като програмна памет малко се раздува проекта от C++. Тия наблюдения за за IAR при AVR и при АРМ7. |
|
| Автор: | lz3060 [ Нед Окт 25, 2009 3:49 pm ] | |||||||||
| Заглавие: | ||||||||||
Ха, сега разбирам хората на които аз обяснявам как се чувстват ... Най-добре ще ми е ако мога да гледам примерно изпълнение. Вие от къде сте се учили? Намерих това, което е даже повече като функционалност от необходимото ми. Само дето при avr-gcc нещата с РОМ-а са малко по-различни. Как, например, да сложа пойнтер към функция в програмното пространство? |
||||||||||
| Автор: | smtp [ Нед Окт 25, 2009 3:53 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
научи се да МИСЛИШ ! ако ти идва сложно (мисленето) - си сбъркал професията ! |
|||||||||||||||||||
| Автор: | lz3060 [ Нед Окт 25, 2009 3:59 pm ] | |||||||||
| Заглавие: | ||||||||||
421 |
||||||||||
| Автор: | milenjs [ Нед Окт 25, 2009 6:59 pm ] |
| Заглавие: | |
Не се забивай с тези готови UI. За несложно меню не ти са необходими готови функции, структури. Реши какво ще рисуваш по дисплея като менюта, четеш бутоните и пишеш директно на дисплейчето евентуално промени или каквото там трябва да се вижда, Киров ти го каза вече. Я обясни какво точно като структура и функционалност трябва да направиш, ще бутнем едно рамо със съвети. |
|
| Автор: | Реконструктор [ Нед Окт 25, 2009 6:59 pm ] |
| Заглавие: | |
Като начало, ползваш ли AVR Studio, или нещо друго? |
|
| Автор: | lz3060 [ Нед Окт 25, 2009 7:18 pm ] |
| Заглавие: | |
Не искам да забивам с готови решения, а просто да видя един два примера -- така най лесно се учи Използвам Eclipse с AVR Plugin, avr-gcc на Linux. Изобщо, целия проект го правя само с отворен код (KiCAD, OpenOffice, Dia ...). На такива като мен им викат freetards. Мисля, че хванах някаква посока вече, да се помъча, пък като забия ще питам пак |
|
| Автор: | Реконструктор [ Нед Окт 25, 2009 8:39 pm ] |
| Заглавие: | |
Значи буфер за монохромен дисплей 84х48 заема 504 байта, т.е. половината от това, което имаш. |
|
| Автор: | lz3060 [ Нед Окт 25, 2009 9:32 pm ] |
| Заглавие: | |
Така е, ама правя и разни интерполации с по 6 коефициента, на места може би една върху друга, а и не знам как да проверя кога колко памет се използва. Единственият инструмент за това под Линукс е simulavr, обаче не се компилира за x86_64. Пък и не ми е необходим буфер, ще се чертае директно. За сега се отказах от ++. Мерси за насоките. Ъпдейт: Наистина не е нищо особено |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|