Непростое объединение скетчей

YANDREW
Offline
Зарегистрирован: 30.04.2015

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

maksim
Offline
Зарегистрирован: 12.02.2012
bool mode =  digitalRead(2);  // выбираем

void setup() 
{
  if(mode) setup1();
  else setup2();
}

void loop() 
{
  if(mode) loop1();
  else loop2();
}



void setup1() 
{
  //......
}

void loop1() 
{
   //......
}

void setup2() 
{
  //......
}

void loop2() 
{
   //......
}

 

YANDREW
Offline
Зарегистрирован: 30.04.2015

maksim пишет:

bool mode =  digitalRead(2);  // выбираем

void setup() 
{
  if(mode) setup1();
  else setup2();
}

void loop() 
{
  if(mode) loop1();
  else loop2();
}



void setup1() 
{
  //......
}

void loop1() 
{
   //......
}

void setup2() 
{
  //......
}

void loop2() 
{
   //......
}

maksim, спасибо , буду попробовать, но

 не досказал, виноват , но у меня в одной программе (скетче) не только стандартые setup & loop функции но обявлены еще по несколько  и разные.... их так же разнести?, будет работать...? 

может глупые вопросы, но опыт мой полтора месяца в ардуино

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Функции можно и в глобальную секцию запихнуть(то есть после функций loop и setup, туда, где loop1 и прочее.), вряд ли они перепутаются.

YANDREW
Offline
Зарегистрирован: 30.04.2015

Yarik.Yar,  спасибо буду пробовать, вообще это в процессе работа над полуавтоматическим сусловарочным котлом - пивоварней, если кому интересно могу приложить скетчи