Реализация меню

Обсуждаем контроллеры компании Atmel.
Ответить
binarick
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Пт фев 27, 2015 17:48:39

Реализация меню

Сообщение binarick »

Искал на форуме, но или искать не умею или очень мало написано совсем по созданию меню.
Имею 4 строчный текстовый дисплей и атмегу8 пишу на CVAVR 3.12
сделал себе меню по такому принципу http://radiokot.ru/forum/viewtopic.php? ... hilit=меню, есть ещё микроменю но там вообще монстр :)

Мне жутко не нравится то, что во всех примерах что я нашёл двигается всё меню, по моему гораздо приятнее видеть галочку которая бегает возле строк меню, но как реализовать эту галочку не могу придумать.

Вот очень приятное меню http://www.youtube.com/watch?v=ksDp4tffhjg
Подскажите как такое реализовать ?

Спасибо за ваше время и ответы.
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Реализация меню

Сообщение pyzhman »

В программе перебираете переменную mode от 0 до 3 (четыре пункта меню). При изменении оной в текущей строке забиваете знак > пробелом, а в следующей рисуете тот же >. Усё.
Docendo discimus
Реклама
binarick
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Пт фев 27, 2015 17:48:39

Re: Реализация меню

Сообщение binarick »

а на каком принципе меню организовать ? структура или что ?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Реализация меню

Сообщение pyzhman »

Как заблагорассудится. Победителей не судят.
Docendo discimus
Реклама
Эиком - электронные компоненты и радиодетали
binarick
Первый раз сказал Мяу!
Сообщения: 36
Зарегистрирован: Пт фев 27, 2015 17:48:39

Re: Реализация меню

Сообщение binarick »

Нашёл хоть какую то реализацию идеи http://avrproject.ru/publ/menu_on_a_mic ... r/1-1-0-33

но там меню выводится "скриншотами"....
Реклама
Аватара пользователя
eess9
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Re: Реализация меню

Сообщение eess9 »

binarick писал(а):но там меню выводится "скриншотами"....
не совсем ясно что вы под "скриншотами" понимаете. Вас смущают подпрограммы для каждого подменю?
Так или иначе в этих подпрограммах будет много общего кода, который вы и соберете в отдельные функции.
Чем больше будет ваше меню, тем больше разных подпрограмм вы напишите. Систематизировать их все равно придется.
Я обычно делаю единую структуру для указателей меню. Типа такого:

Код: Выделить всё

struct
{
   uint8_t main_loop;
   uint8_t subMenu_1;
   struct
   {
      uint8_t subMenu_2_1;
      uint8_t subMenu_2_2; 
   } subMenu_2;
   uint8_t subMenu_3;
} menu_t;

а дальше через switch попадаем в нужную подпрограмму.
Реклама
Ответить

Вернуться в «AVR»