Чтение массива
- Войдите на сайт для отправки комментариев
Чт, 04/11/2021 - 11:27
Выборка элементов массива. Имеем 2 счетчика - один (nom)- это номер ячейки /строки массива. Другой - время выборки - valTime.
Если valTime равен значению ячейки arr1 (число 1) при текущем nom, то выводим в сериал значение arr2 (5). Увеличиваем номер строки nom++. Если значение arr1 не изменилось (снова 1), то выводим аналогично (7). Если изменилось (всегда будет больше), то наращиваем valTime++ при каждой выборке. И т.д. Также делаем проверку на arr2 = 100 (код останова), и при совпадении возвращаемся на новый цикл.
01 | uint16_t arrTime[]; |
02 | uint8_t arrNote[]; |
03 | uint8_t score; // определяет частоту выборки из массива |
04 | uint16_t valTime; // условное значение времени |
05 |
06 |
07 | void setup () { |
08 | Serial .begin(9600); |
09 | pinMode(7, INPUT); // кнопка старт/стопа |
10 | digitalWrite(7, 1); |
11 | score = 50; |
12 | } |
13 |
14 | void loop () { |
15 | if (digitalRead(7) == 0) |
16 | { |
17 | if (SS == 0) |
18 | { |
19 | SS = 1; |
20 | nom = 0; |
21 | for ( int i = 0; i < score; i++) |
22 | { |
23 | if ((i == 0) && (SS == 1)) ReadArr(); |
24 | |
25 | delayMicroseconds(100); // коэффициент времени |
26 | } |
27 | } |
28 | else |
29 | { |
30 | SS = 0; |
31 | } |
32 | delay(200); |
33 | } |
34 | } |
35 |
36 | void ReadArr() { |
37 | if (valTime == arrTime[nom]) |
38 | { |
39 | Serial .print(arrTime[nom]); |
40 | nom++; |
41 |
42 | if ((arrTime[nom]) > (arrTime[nom - 1])) // увел, только если не совпадает |
43 | { |
44 | valTim++; |
45 | } |
46 |
47 | if (arrNote[nom] == 100) |
48 | { |
49 | nom = 0; |
50 | valTime = 0; |
51 | } |
52 | } |
53 | } |

это вам в колледже задали? или внуку? почему это в платном разделе?
Потому что хочу просто получить готовый скетч, без "обучений", и отсылок "ловить рыбу удочкой".
а процедура ReadArr() из скетча чем не устраивает?
Ваше обьяснение что именно и откуда должно читаться - я не очень понял. Что такое valTim и valTime? valTim случаем не опечатка? - оно не описано
Скока платим? Надеюсь хотя бы 1000, иначе и смысла нет :)
Описка... везде надо valTime. Не устраивает, потому что не работает....
массивы arr1 - это arrTime, а arr2 - это arrNote. И неточность - что выводим в сериал.. но это сами понимаете - неважно. Там просто "что-то делаем..." как говорится.
да 1000, но надо убрать задержки в цикле в виде константу микросекунд. Это можно?
надо убрать задержки в цикле в виде константу микросекунд. Это можно?
"а вы это в заказе не указывали" (с)
Как "убрать"? - закомментировать строку?
PS Всегда все расписывайте подробно.
Насчет 1000 я пошутил, заказ не возьму. С другими сговаривайтесь,.
Напишите htpicc@gmail.com, только опишите задачу обычными словами - зачем, что нужно получить на выходе и т.п.
Напишите htpicc@gmail.com, только опишите задачу обычными словами - зачем, что нужно получить на выходе и т.п.
А сапоги на нём смотрелись-бы неплохо ИМХО.
Ещё один "специалист" растёт....
В гробу я видел таких кураторов.) Не обижайся. Уровень только падает, ибо лень берёт своё.(
В гробу я видел таких кураторов.) Не обижайся. Уровень только падает, ибо лень берёт своё.(
Ну что в итоге, заказ сложился?
Нет, тишина. Видать ТС так сильно нужно.
Не, он ждёт "чёрной пятницы". И скидок к ней. Уже скоро 11.11.2021.