Перейти к содержанию

Меню Для Часов


motoalex

Рекомендуемые сообщения

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

Запрограммировал часы на МК от таймера. Все работает, в ходе работы можно увеличивать часы/минуты. Но вопрос в другом хочу сделать меню: кнопку нажал высветилось в верхней строке "Set time", на второй строке текущее время изменяем, нажимаем ту же кнопку введенное время сохраняется и продолжает ход часов. После напишу будильник, но, это уже после вашей помощи с меню для установки времени.

Заранее благодарен!

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Использовать switch. На одну кнопку переключения режимов можно завести сколько угодно функций. И менять значения переменных времени. Вот только есть ли он у вас? В чем пишите?

Изменено пользователем chip-chip

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

Всем спасибо, кто откликнулся. Пишу прошивку в CVAVR. Пробовал через switch, выходит не так как нужно (часы продолжают считать и накладываются на текст). Рассчитываю на часы с небольшим меню для них же.

Прикрепляю тут

lcd and timer.rar

Изменено пользователем motoalex
Ссылка на комментарий
Поделиться на другие сайты

Часы пусть считают про себя. А на дисплей надо выводить информацию из меню установки. С АВР не знаком, а то бы подсказал по программе.

Все можно наладить, если вертеть в руках достаточно долго!

Если ничто другое не помогает, прочтите, наконец, инструкцию!

Ссылка на комментарий
Поделиться на другие сайты

motoalex, у тебя в прерываниях только секунды считаются. Перенеси счет минут и часов из основного цикла в прерывания, в основном лепи свое меню.

Ссылка на комментарий
Поделиться на другие сайты

Вот изменил, но как сделать выход из функции, например индикации или установки времени в главное меню, чтобы запомнилось время. И второй вопрос, как остаться в функции, пока, я не нажму определенную кнопку допустим пять секунд.

lcd and timer.rar

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Не совсем понял, а как программно (кусок кода) вернуться в предыдущее меню, с сохранением заданного времени я этого как раз понять и не могу.

Проверьте пожалуйста мой синтаксис и напишите кусок кода который бы возвращал программу в меню с сохранением измененных данных.

lcd and timer.txt

Ссылка на комментарий
Поделиться на другие сайты

а почему бы просто не использовать переменную IndTim=0 или таже retu для определения отображения меню/времени и изменять по нажатию кнопки?:

например простейшее меню одной кнопкой:

начало цикла
если IndTim=0 то отображать время
если IndTim=1 то отображать меню1
если IndTim=2 то отображать меню2
....
если IndTim=9 то отображать меню9
если IndTim=10 то то сохраняем изменения и выходим из меню  IndTim=0 
конец цикла

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...