Samodelkin пише:
...Как вам вариант, двух ячеек памяти на одну кнопку?
Мне так трудно сориентироваться, мы как-то обсуждаем частями, нет целостной картины. Нужно все собрать в одно описание.
На одну кнопку наверно можно и десяток ячеек, но при выборе уже нужно будет соблюдать какой-то ритм, а программа должна давать какую-то задержку на выполнение, не зная наперед сколько раз нажмут на кнопку.
---
Может так (наверно повторяюсь...):
Основной экран: Отображение частоты генератора, отображение частоты частотомера. Энкодер управляет частотой.
Нажали на Кн0 - меню выбора шага. На дисплее значение шага. Энкодером выбор шага, повторное нажатие на Кн0 - выход из меню. Если получается физически, то можно удерживая нажатой Кн0 менять шаг, а с отпущенной частоту.
Нажали на Кн1 - меню выбора памяти. На дисплее номер ячейки, частота, записанная в ячейку. Энкодером выбор ячейки, повторное нажатие на Кн1 подтверждение выбора - выход из меню.
Нажали Кн2 - меню выбора памяти. На дисплее номер ячейки, частота для записи в ячейку. Энкодером выбор ячейки, повторное нажатие Кн2 запись в эту ячейку частоты, которая была на дисплее до входа в меню записи - выход из меню.
---
Если же частоты надо переключать буквально одним щелчком, то тогда действительно, надо ячейки памяти привязывать к конкретным кнопкам. Хотя как по мне, двойное нажатие не лучший вариант. Может тогда на все оставшиеся выводы МК навешать кнопок, более того, можно и экономнее... Без особого напряга, можно и с десяток кнопок организовать.
---
Если будет время, вечером сяду за прошивку, оно так самому понятнее что получается, что не получается и почему.