Цитата Сообщение от Сергей0308 Посмотреть сообщение
А при чём здесь сколько минут в сутках? Всё зависит с каким минимальным интервалом, т. е. ступенькой нужно назначать время уставок, при минимальной ступеньке в 5 минут диапазон уставок уместится в 9 бит(при 10 минутах в 8 бит), а умножить на 5(или 10) всегда можно вне уставки, с длительностью включения аналогично поступить, а так получается..., короче плохо получается, не рационально биты используются! И ещё хотел добавить, только нечто почти противоположное, вот у Вас выхода включаются очень заморочено, 4 битами, Вам не кажется это странным, когда энергонезависимая память используется только на четверть, короче зачем это делать, если ресурсов более чем достаточно выполнить это по-человечьи?
Защита от ошибок и от дурака. При 32-х уставках легко ошибиться в ступеньках. Задача - ограничить число включаемых одновременно входов.

Назначаем произвольное время суток на включение. Выставляем произвольную (в пределах разумного и возможного) длительность включения, которая может составлять несколько часов. Никаких ступенек не получится. Ну можно время включения как в тех же поливных контроллерах хантер назначить с шагом 15-10 минут и сэкономить на этом несколько бит. Для подобных применений - не критично.

Когда номер выхода в сохраняем в уставке - имеем бОльшую свободу при выборе времен включения. Можно, конечно привязать номер выхода к номеру уставки. Скажем, первые две уставки - выход 1, следующие две - выход 2 и т.д.
Имеем 32 уставки на 16 выходов - по две уставки на выход. Но один выход нам нужно включить раз в сутки, другой - 3 раза.

Ничего замороченного не вижу, например уставка/задание: в 18.00 по пятницам и субботам включить выход 2 на 4 часа.