Чтение массива

dim3740
dim3740 аватар
Offline
Зарегистрирован: 25.03.2015
Выборка элементов массива. Имеем 2 счетчика - один (nom)- это номер ячейки /строки массива. Другой - время выборки - valTime.
 
Если valTime равен значению ячейки arr1 (число 1) при текущем nom, то выводим в сериал значение arr2 (5). Увеличиваем номер строки nom++. Если значение arr1 не изменилось (снова 1), то выводим аналогично (7). Если изменилось (всегда будет больше), то наращиваем valTime++ при каждой выборке. И т.д. Также делаем проверку на arr2 = 100 (код останова), и при совпадении возвращаемся на новый цикл.  
 
01uint16_t arrTime[];
02uint8_t arrNote[];
03uint8_t score;  // определяет частоту выборки из массива
04uint16_t valTime;  // условное значение времени
05 
06 
07void setup() {
08  Serial.begin(9600);
09  pinMode(7, INPUT);  // кнопка старт/стопа
10  digitalWrite(7, 1);
11  score = 50;
12}
13 
14void 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 
36void 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}

 

 
b707
Offline
Зарегистрирован: 26.05.2017

это вам в колледже задали? или внуку? почему это в платном разделе?

dim3740
dim3740 аватар
Offline
Зарегистрирован: 25.03.2015

Потому что хочу просто получить готовый скетч, без "обучений", и отсылок "ловить рыбу удочкой". 

b707
Offline
Зарегистрирован: 26.05.2017

а процедура ReadArr() из скетча чем не устраивает?

Ваше обьяснение что именно и откуда должно читаться - я не очень понял. Что такое valTim и valTime? valTim случаем не опечатка? - оно не описано

Скока платим? Надеюсь хотя бы 1000, иначе и смысла нет :)

dim3740
dim3740 аватар
Offline
Зарегистрирован: 25.03.2015

Описка... везде надо valTime.  Не устраивает, потому что не работает.... 

массивы arr1 - это arrTime, а arr2 - это arrNote.  И неточность - что выводим в сериал.. но это сами понимаете - неважно. Там просто "что-то делаем..." как говорится.

 

dim3740
dim3740 аватар
Offline
Зарегистрирован: 25.03.2015

да 1000, но надо убрать задержки в цикле в виде константу микросекунд. Это можно?

 

b707
Offline
Зарегистрирован: 26.05.2017

dim3740 пишет:

надо убрать задержки в цикле в виде константу микросекунд. Это можно?

 

"а вы это в заказе не указывали" (с)

Как "убрать"? - закомментировать строку?

 

PS Всегда все расписывайте подробно.

Насчет 1000 я пошутил, заказ не возьму.  С другими сговаривайтесь,.

Green
Offline
Зарегистрирован: 01.10.2015

Напишите htpicc@gmail.com, только опишите задачу обычными словами - зачем, что нужно получить на выходе и т.п.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Green пишет:

Напишите htpicc@gmail.com, только опишите задачу обычными словами - зачем, что нужно получить на выходе и т.п.

А сапоги на нём смотрелись-бы неплохо ИМХО.

Ещё один "специалист" растёт....

Green
Offline
Зарегистрирован: 01.10.2015

В гробу я видел таких кураторов.) Не обижайся. Уровень только падает, ибо лень берёт своё.(

b707
Offline
Зарегистрирован: 26.05.2017

Green пишет:

В гробу я видел таких кураторов.) Не обижайся. Уровень только падает, ибо лень берёт своё.(

Ну что в итоге, заказ сложился?

Green
Offline
Зарегистрирован: 01.10.2015

Нет, тишина. Видать ТС так сильно нужно.

rst
Offline
Зарегистрирован: 25.06.2018

Не, он ждёт "чёрной пятницы". И скидок к ней. Уже скоро 11.11.2021.