Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 23.09.2012, 17:58  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Помогите сделать одноуровневое меню

Здравствуйте.

Мне нужна помощь в понимании алгоритма работы меню.
Есть велофонарь, у него 3-х сегментный светодиодный индикатор.
При удержании главной кнопки происходит вход в меню, это ясно.
Далее на индикаторе отображается 1-й пункт меню.
Вверх вниз джойстиком можно спускаться/подниматься по меню.
По удержании основной кнопки на нужном пункте мы входим в него и там снова джойстиком вверх/вниз выбираем параметры.

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

Реклама:
putmannn вне форума  
Непрочитано 23.09.2012, 18:28  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню.

Сообщение от putmannn Посмотреть сообщение
Посоветуйте простой алгоритм, а то не знаю с чего начать, боюсь сам сделаю сложно и запутанно, наверное имеются распространённые способы решения этой задачи.
Плохо!
1. Бояться сделать самому - очень плохо.
2. Просить помощи сделать что-либо, не начав делать самому - трижды плохо.
3. Хочется знать ваше отношение к... попрошайничеству. Считаете ли вы его постыдным?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 23.09.2012, 19:11  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню.

Поможите, люди добрые!
http://www.avrfreaks.net/index.php?m...178&showinfo=1
omercury вне форума  
Сказали "Спасибо" omercury
putmannn (24.09.2012)
Непрочитано 24.09.2012, 08:12  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню.

Сообщение от ut1wpr Посмотреть сообщение
3. Хочется знать ваше отношение к... попрошайничеству. Считаете ли вы его постыдным?
Нет не считаю, если не хочешь работать, то надо идти попрошайничать.
putmannn вне форума  
Непрочитано 25.09.2012, 08:05  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню.

Сообщение от omercury Посмотреть сообщение
Поможите, люди добрые!
http://www.avrfreaks.net/index.php?m...178&showinfo=1
Там на каких то языках написано... Си наверное, я их не понимаю, я сразу в ассемблере учился.
Значит буду писать сам.
Спасибо.
putmannn вне форума  
Непрочитано 25.09.2012, 09:00  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню.

Сообщение от putmannn Посмотреть сообщение
Нет не считаю, если не хочешь работать, то надо идти попрошайничать.
Третий вопрос был риторический. Ответ ведь имеется в первом топике.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 25.09.2012, 09:15  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню

Я делаю:
В основном цикле вечно кручу оператор switch (С) или SELECT(бейсик).
Есть две переменные mode и mode_enter. Переменная mode принимает номер процедуры:
switch (mode)
{
case 1: mode1_handle();
case 2: mode2_handle();
.....
}
далее в процедуре mode1_handle(void)
{
if (mode_enter) {mode_enter=0; mode1_enter_handle();
}
Теперь по порядку.
Процедура mode1_enter_handle() единожды обрабатывает вход в режим 1. Т.е. вывод инфу на дисплей, подключает кнопки, конфигурирует таймеры и все такое прочее.
Далее крутится mode1_handle(), которая выполняет обработку событий и в случае необходимости изменяет переменные mode и mode_enter, перенаправляя процессор в другие процедуры. Таким образом вектора ходят по программе в любом направлении. По этому принципу легко и наглядно строится любое меню и многие другие процессы.
В одном проекте использовал mode1_out_handle(), которую прокручивал один раз по выходу из режима. Это полезно бывает.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
putmannn (25.09.2012)
Непрочитано 25.09.2012, 10:15  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню

putmannn, тут есть и на асме
http://chipenable.ru/index.php/progr...struktsii.html
И вообще парень там неплохо и доступно излагает, правда в основном на Си.
А вам надо изучить язык С, хотя бы поверхностно, чтобы понимать чужие наработки. Ничего сложного там нет!
__________________
Мелочи не решают главного. Они решают всё!

Последний раз редактировалось gary2007; 25.09.2012 в 10:19.
gary2007 вне форума  
Сказали "Спасибо" gary2007
putmannn (25.09.2012)
Непрочитано 25.09.2012, 10:20  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню

Я обычно по такой схеме менюшки делаю.
В swich- ах лень разбираться.
void prog0(char);
void prog1(char);
void prog2(char);
void prog3(char);
void (*prog)(char)=prog0;
int main()
{
while(1) { prog(getch()); }
}
void prog0(char x)
{
printf("Prog0: Get char-› %c\n",x);
prog=prog1;
}
void prog1(char x)
{
printf("Prog1: Get char-› %c\n",x);
prog=prog2;

}
void prog2(char x)
{
printf("Prog2: Get char-› %c\n",x);
prog=prog3;

}
void prog3(char x)
{
printf("Prog3: Get char-› %c\n",x);
prog=prog0;

}
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
putmannn (25.09.2012)
Непрочитано 27.09.2012, 17:54  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 139
Сказал спасибо: 17
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Помогите сделать одноуровневое меню

Сообщение от Boba_spb Посмотреть сообщение
Я обычно по такой схеме менюшки делаю.
В swich- ах лень разбираться.
void prog0(char);
void prog1(char);
void prog2(char);
void prog3(char);
void (*prog)(char)=prog0;
int main()
{
while(1) { prog(getch()); }
}
void prog0(char x)
{
printf("Prog0: Get char-› %c\n",x);
prog=prog1;
}
void prog1(char x)
{
printf("Prog1: Get char-› %c\n",x);
prog=prog2;

}
void prog2(char x)
{
printf("Prog2: Get char-› %c\n",x);
prog=prog3;

}
void prog3(char x)
{
printf("Prog3: Get char-› %c\n",x);
prog=prog0;

}

так делать некошерно!!!!
изучайте swich - сложного ничего нет можно хоть одно уровневое, хоть много уровневое
vvkka вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать термореле svarka Автоматика и аппаратура связи 60 15.07.2016 23:01
Помогите сделать трансформатор asst Источники питания и свет 3 13.12.2010 18:52
Помогите сделать схему pavel120 Микроконтроллеры, АЦП, память и т.д 3 11.12.2010 15:42
Помогите сделать програматор Piroknight Микроконтроллеры, АЦП, память и т.д 14 14.06.2010 17:25
Помогите войти в сервисное меню SAA7114 Umnik111 Ремонт оргтехники 0 12.11.2005 22:11


Часовой пояс GMT +4, время: 20:29.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot