Приветствую всех! Такая вот загвозка у меня, очень долго запускается ардуинка, где то пару секунд проходит с момента включения. Все бы ничего, но это просто декоративная имитация керосиновой лампы, код простейший-рандомное наростание\убывание по четырем каналам. Вот начало и все иницилизации, неужели создание нескольких массивов так ресурсоемко? Может активация подтягивающих резисторов берет так долго? Код (C++): #include <RotaryEncoder.h> #include <Bounce.h> #define BUTTON 12 Bounce bouncer = Bounce( BUTTON, 10 ); RotaryEncoder encoder(7, 8); int flameOutput [6] = {3, 9, 10, 11, 5, 6}; //[4] white, [5] yellow int filament [6]; int randVal [6]; int steping [6]; unsigned long startTime [6]; byte timeInterval [6]; int iter; int mode; int pin_3; int pin_9; int pin_10; int pin_11; int totalBri = 32; void setup() { pinMode (7, INPUT_PULLUP); pinMode (8, INPUT_PULLUP); pinMode (12,INPUT_PULLUP); for(int i=0; i<6; i++) { pinMode (flameOutput[i], OUTPUT); } mode = 0; }
Что за Ардуино? И уверены, что пару секунд? Может субъективное ощущение? У Arduino UNO есть такая штука как Bootloader (тот самый, который заливает прошивку), так вот он при старте отнимает то ли секунду, то ли полсекунды (пока досконально не разобрался -- не было необходимости) -- это нужно для возможности прошивки основного контроллера "стандартными средствами".
Это не совсем Ардуина, голая Мега без кварца на 8Мгц. Стартует две секунды (по часам замерял). Не думал, что бутлоадер так много берет, проверю с простым скетчем.
И я о том же, раньше всякие поделки старовали довольно быстро, а это вот так страенно. Да, бутлоадер есть, ардуиновский.
Дело не в коде, если на RX есть что то, то бутлодер думает что вот вот начнется заливка, ждет и надеется. Несколько секунд.
Нет на них ничего нет. Блинк тоже стартует где то секунды полторы. Наверное, если бы она работала на полных 16мгц, все бы заняло меньше секунды и было бы еще мене заметно. Просто мне казалось, что Мега дожна быстее запускаться, разве нет?