Есть функция которая возвращает массив.
Код: Выделить всё
void func(unsigned char* arrr)Код: Выделить всё
void func(unsigned char* arrr, int randNumber)Если оставить как в первом примере, переменная передается только при первой итерации, а при последующих использует старое значение.
Весь код ниже:
Код: Выделить всё
#define size 11
unsigned char arrr[size];
void loop() {
label:
randNumber = random(4, 15);
if (r == randNumber) {goto label;}
r = randNumber;
func(arrr);
for (n = 0; n < 11; n++) {
Serial.println(arrr[n]);
}
delay(3000);
}
void func(unsigned char* arrr)
{
for (i = 0, j = 4; i < 12; i++) { //Создать массив пинов из 12 чисел
arr[i] = j;
j++;
}
lenarr = sizeof(arr) / sizeof(int); //вычислить длину массива
for (o = 0; o < lenarr; o++) { // присвоить переменной каждое число из массива
k = arr[o];
if (randNumber != k) { //сравнить
//for (d=0; d<12; d++){ //Создать массив без нужного числа
arrr[d] = k;
d++;
} //if (randNumber != k)
} //for (o = 0; o < lenarr; o++)
return arrr;
}


