Страница 1 из 1

меню на двух кнопках

Добавлено: Чт мар 26, 2015 17:58:48
gugle
Доброго времени суток .
Решил сделать регулятор звука на atmega8 и tda7313. Но никак не могу сделать меню состоящее из 2х кнопок:"Шаг","ОК".
хотел сделать так;
Нажимаю "Шаг" - срабатывает прерывание, и перехожу в функцию меню которая состоит из пяти пунктов.
1) Если нажать ОК то загорается лампочка и отправляется команда TDAке. При нажатии Шаг переход в следующий пункт.
2) Идентично первому шагу
3) Здесь нужно выбрать 1 из 3х режимов, переход осуществляется нажатием ОК
4) Здесь выбор режима определяется энкодером
5) Идентично четвертому шагу
подскажите каким образом осуществить это

Re: меню на двух кнопках

Добавлено: Чт мар 26, 2015 20:34:16
Аlex
каким образом осуществить это
Вопрос некорректный. Ибо на него ответ единственный - взять и написать программу, в соответствии с алгоритмом.
Что КОНКРЕТНО не получается ? Где попытки "сделать так :" ? Почему у Вас не получается "сделать так" ? И т.д...
Опишите конкретно проблемы, с которыми столкнулись, а не просто список своих "хотелок" с вопросом "как сделать ?".

Re: меню на двух кнопках

Добавлено: Чт мар 26, 2015 20:53:42
ARV
а пока кнопка не нажата, чем занимается ваш МК? прерывание от нажатия кнопки какую работу МК будет прерывать?

Re: меню на двух кнопках

Добавлено: Пт мар 27, 2015 05:40:12
gugle
ARV писал(а):а пока кнопка не нажата, чем занимается ваш МК? прерывание от нажатия кнопки какую работу МК будет прерывать?
МК работает с сегментным индикатором. а прерывания хочу использовать для того чтобы постоянно не опрашивать кнопки.

Re: меню на двух кнопках

Добавлено: Пт мар 27, 2015 05:43:53
gugle
Аlex писал(а):Опишите конкретно проблемы, с которыми столкнулись
проблема в том что при переходе на следующий щаг предыдущие настройки не сохранялись

Re: меню на двух кнопках

Добавлено: Пт мар 27, 2015 07:07:43
ARV
gugle писал(а):
ARV писал(а):а пока кнопка не нажата, чем занимается ваш МК? прерывание от нажатия кнопки какую работу МК будет прерывать?
МК работает с сегментным индикатором. а прерывания хочу использовать для того чтобы постоянно не опрашивать кнопки.
еще раз: вы не хотите опрашивать кнопку потому что ваш МК ужасно занят какими-то важными делами? или вот просто не хотите потому что не хотите? или обслуживание сегментного индикатора вы ведете в главном цикле?!

Re: меню на двух кнопках

Добавлено: Пт мар 27, 2015 07:29:55
Аlex
gugle писал(а):проблема в том что при переходе на следующий щаг предыдущие настройки не сохранялись
Какие настройки ? Вы о чём ? :)) Очередная игра в угадайку... :facepalm:
Если даже у Вас что-то не сохраняется, что Вам мешает это сохранять при переходе на какой-то там следующий шаг ?

Re: меню на двух кнопках

Добавлено: Пт мар 27, 2015 08:12:01
pyzhman
gugle писал(а):Решил сделать
...
и передумал делать. Да и правильно. Никто не хочет, а самому напрягаться влом.

Re: меню на двух кнопках

Добавлено: Сб мар 28, 2015 15:00:51
gugle
есть проблема с обработкой нажатия кнопки: с таким кодом
if ((PIND & (1<<2))==0)
{
flag++;
}

при нажатии кнопки программа успевает несколько сот раз инкрементировать переменную flag. как избавиться от этого эффекта не используя функцию delay.
И еще вопрос во время работы delay прерывания по таймеру игнорируются?

Re: меню на двух кнопках

Добавлено: Сб мар 28, 2015 15:36:12
ChipKiller
есть проблема с обработкой нажатия кнопки: с таким кодом
.. вариантов много - можно в прерывании определить факт нажатия и выставить флаг, а в основном цикле обрабатывать это событие и сбрасывать флаг.

Re: меню на двух кнопках

Добавлено: Сб мар 28, 2015 16:16:31
gugle
ChipKiller писал(а):
есть проблема с обработкой нажатия кнопки: с таким кодом
.. вариантов много - можно в прерывании определить факт нажатия и выставить флаг, а в основном цикле обрабатывать это событие и сбрасывать флаг.
спасибо