День добрый! В общем сделал я на ардуино уно генератор псевдослучайных чисел. Вот он: long randNumber; void setup(){ Serial.begin(9600); randomSeed(analogRead(0)); } void loop(){ randNumber = random(300); Serial.println(randNumber); delay(50); } Но нужно добавить в код, чтобы мне выдало 1000000 чисел и также время, за которое мне выдаст 1000000 чисел. Помогите плиз, очень надо
Код (C++): unsigned long Counter=0; unsigned long start_time =0; unsigned long finish_time=0; unsigned long Result=0; //не знаю сколько там будет поэтому лонг но по моему должно инт хватить long randNumber; int i; //исправить на long i; void setup(){ Serial.begin(9600); randomSeed(analogRead(0)); } void loop(){ delay(50); for ( i=0; i <= 1000000; i++) //инициализация i вынесена в глобальные переменные { randNumber = random(300); Serial.println(randNumber);//желательно тоже закомментировать // delay(50); //не советую ставить иначе считать будет до нового года if(i==0) // если это первый проход и соответсвенно первое случайное значение //засекаем это время поскольку в следующем цикле i будет != 0 можно и без static обойтись { start_time = millis(); } else if(i==1000000) // если это миллионное значение то снова засекам время беря его из millis(); { finish_time = millis(); Result=finish_time-start_time; Serial.println("Result"); Serial.println(Result); delay(5000); //останавливаем программу чтобы успеть записать время } } } один из возможных вариантов. не проверял в работе. если есть ошибки попробуйте сами исправить, так как кот я считаю расово верный. Нашелся бы добрый человек написать мне прогресс бары для меню.(мечты)
Спасииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииисииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииисииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииибо
Дич какая то. К примеру, как в int запихнули миллион? И вообще нахрена в сериал миллион случайных чисел?
маленький сюрпрайз. кстати для меня тоже. обсолютно одинаково для компилятора что с int что с long/ может ли ардуиновкий компилятор счить int по правилам С++ -2 147 483 648 / 2 147 483 647??? это уже мне интересно Код (C++): long i; long немного правильней по второй части ответа не в курсе)
Не должен int корректно считать до миллиона, вывалится за пределы, пойдет по второму кругу. Особенно знаковый.
Генератора случайных чисел на ардуино не получится, смотреть исходники random. От запуска к запуску будет повторяющаяся последовательность, если отталкиваться от одинакового числа, полученного первым вызовом randomSeed. Так что правильней будет это называть - генератор псевдослучайных чисел.
невнимательность(((. вот так всегда, что нибудь элементарное накосячишь, а потом несколько час материшся почему код не работает как надо