Создание функций внутри программы и запись новых переменных в память

Привет всем! Нужна помощь с кодом!
есть программа таймер на часах реального времени , в ней есть 12 таймеров для каждого заранее созданы переменные часы минуты , активируется каждый таймер при вводе количества активных таймеров например P=7 значит 7 таймеров активных…
Мне нужно чтобы при увеличении Р создавались новые переменные и функция таймера
например Р=1 создать переменные и функцию
if (tm.Hour == valHour1 && tm.Minute == valMinute1 && tm.Second == 0) {alarmSignal(); }
если уменьшаю P то удаляю функцию и переменные
возможно ли это?

Можно даже “Машку за ляшку!” …

Да, возможно.

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

По моему, у вас что-то в формулировке задачи конкретно глюкнуло. Попробуйте для начала языком Тургенева сформулировать логику

1 лайк

Ну, Вы, блин, даёте, благородный дон! Эдак мы скоро на главной странице будем рекламу форума размещать, типа: «Лиричные тургеневские барышни, ежевечерне проводящие лекции о влиянии мистических стихов Борхеса на лирические сказки Дансени - в наличии» :slight_smile:

2 лайка

ТС не спрашивал, что ему создать, он спрашивал: возможно ли реализовать поток его сознания. Тема вообще не про «создать», а про «потрындеть».

Лучше так, чем поздний Пелевин через тему

а вот нехрен всё подряд в свой мозг тащить - “…так других нет…тогда никаких не читайте…”

Ну, не знаю. Тургенев больше времени проводил за бугром, так что “барышни” - скорее плод его больного воображения, чем результат наблюдений за реальной жизнью.

Женщина в России, может и хотела бы быть “лиричной и воздушной” как блоковская незнакомка, только, блин, будешь тут, когда у нас постоянно: то кони скачут, то избы горят.

2 лайка

Массив параметров да вот то что нужно , т.е. создаю массив пустой при увеличении параметра Р массив заполняется нужным количеством переменных

Успехов!

int P=0:
int h = new int[12];

void setup() { }
void loop
{

P=9;
h[0] = 5;
h[1] = 3;
h[2] = 5;
h[3] = 3;
h[4] = 4;
h[5] = 4;
h[6] = 3;
h[7] = 2;
h[8] = 5;
h[9] = 4;
if(P!=0){
for (int i = 0; i < P; i++) {if (tm.Hour == h[P] && tm.Minute == m[P] && s == 0) {alarmSignal(); }
}

}
//количество подменю с переменными отражается с увеличением или уменьшением параметра Р

:+1:

Что-то подобное я и предполагал.

Я бы даже сделал массив структур с параметрами…

если не трудно примеры кода скиньте ))
сейчас соображаю как массив сохранять в память ардуины

  • EEPROM.put(адрес, данные)

– записывает (по факту – обновляет, update) данные любого типа (типа переданной переменной) по адресу

  • EEPROM.get(адрес, данные)

– читает данные по адресу и сам записывает их в данные – указанную переменную