А как вам такой принцип реализации меню?
menu.rar ( 108.33 килобайт )
Кол-во скачиваний: 236 В приложенном файле реализация для обычного консольного приложения Windows, с целью показать принцип.
Реализация для атмеги есть на работе, почти полная версия, вкупе с обработкой клавиатуры.
Функция main для атмеги выглядит примерно так:
Код
while(1)
{
.......
if(MAIN_NOT_BUSY) //условие, дающие разрешение на работу терминала в этом цикле
next_terminal_task();
}
Ф функции next_terminal_task выполняется только один шаг из текущей задачи - или вывод одного символа на дисплей или один скан клавиатуры или обработка нажатой клавиши, или еще чего-то.
Но это уже другая история. А идея само меню реализовать в виде стека, в котором хранятся указатели на активное меню, оказалась довольно удачной. Попробуйте.
Сообщение отредактировал ochkarik_ - Feb 23 2008, 14:28