Ви не увійшли.
Дякую усім!
Виявляється я виліз за межі масиву. Зарезервована таблиця jaskr[30] містить 30 елементів з номерами від 0 до 29 включно. Я помилково вважав, що існує ще один елемент з індексом 30.
Добраніч!
https://doc.arduino.ua/ru/prog/Array
Дякую!
Ви змінили моє уявлення про Всесвіт масиви!
https://doc.arduino.ua/ru/prog/Array
Якщо точно, то в таблиці з індексами від 0 до 30 міститься 31 елемент.
Серьезно? Т.е. вы задали таблицу на 30 элементов
#define kil_st 30
пытаетесь впихнуть в нее 31 элемент
for (int i = 0; i <= kil_st; i++) {
jaskr[i] = 1.5 + 6 * i / kil_st;
Serial.print(i);Serial.print(" ");Serial.print(jaskr[i]); Serial.println("--------------------------------------------------");
}
и при этом
Здається за межі таблиці не вилазив.
Я по невнимательности уже спалил контору. Но еще раз намекаю, посмотрите на заданное значение kill_st и сколько значений яркости вы пытаетесь запихнуть в таблицу размерностью 30? Ну и соответственно наверное (не особо вникал в код) также и считываете
Якщо точно, то в таблиці з індексами від 0 до 30 міститься 31 елемент. Здається за межі таблиці не вилазив. Усі значення стабільно лежать в межах від 1 до 7. А в останній тридцятій комірці число 255. Я не можу допетрати, як воно виростає від 7 до максимального.
Я по невнимательности уже спалил контору. Но еще раз намекаю, посмотрите на заданное значение kill_st и сколько значений яркости вы пытаетесь запихнуть в таблицу размерностью 30? Ну и соответственно наверное (не особо вникал в код) также и считываете
akapulko пише:Визначтеся з типом даних
А также с размерностью таблицы и количеством впихуемых в нее значений
#define kil_st 30 ...... for (int i = 0; i < kil_st; i++)
Таблиця може містити наприклад такі значення:
112222222333334444444444444567
Блин, апшибочку допустил, у автора так
for (int i = 0; i <= kil_st; i++)
Визначтеся з типом даних
А также с размерностью таблицы и количеством впихуемых в нее значений
#define kil_st 30
......
for (int i = 0; i < kil_st; i++)
Vovk пише:В таблиці зберігаються числа від 1 до 7. Це значення яскравості дисплея (які відповідають певній освітленості фоторезистора). Але чомусь в останній 30 комірці з'являється число 255!
Какой смысл создавать таблицу на 30 ячеек и хранить в ней всего 7 чисел? Они там что повторяются?
Так повторюються, бо для кожного значення фоторезистора (діапазон від 0 до 1023 розділений на 30 проміжків) потрібно власне значення яскравості.
.....
byte jaskr[kil_st]; // масив яскравостей монітора
.....jaskr[i] = 1.5 + 6 * i / kil_st;
Визначтеся з типом даних
Таблиця має тип byte. Мені його вистачає з головою для зберігання чисел від 1 до 7.
Чи можливо ця формула якимось чином мати результати 255?
Я підозрюю, що 255 з'являється десь в іншому місці, а не у вказаному циклі.
В таблиці зберігаються числа від 1 до 7. Це значення яскравості дисплея (які відповідають певній освітленості фоторезистора). Але чомусь в останній 30 комірці з'являється число 255!
Какой смысл создавать таблицу на 30 ячеек и хранить в ней всего 7 чисел? Они там что повторяются?
.....
byte jaskr[kil_st]; // масив яскравостей монітора
.....
jaskr[i] = 1.5 + 6 * i / kil_st;
Визначтеся з типом даних
.....
[color=#ff0303]byte[/color] jaskr[kil_st]byte jaskr[kil_st]
.....
jaskr[i] = [color=#ff0303]1.5[/color] + 6 * i / kil_st;
Визначтеся з типом даних
Vovk пише:В таблиці jaskr[] останній елемент вперто змінює своє значення на 255. Всі інші елементи таблиці поводяться пристойно.
}
А яке ж воно по вашому має бути?
В таблиці зберігаються числа від 1 до 7. Це значення яскравості дисплея (які відповідають певній освітленості фоторезистора). Але чомусь в останній 30 комірці з'являється число 255!