Skocz do zawartości

Poruszanie się po tablicy


Pomocna odpowiedź

Napisano (edytowany)

Poruszam się po tablicy kod który napisałem działa mi dobrze. Chcę co 1s przesuwać się po określnym miejscu tablicy.  Pytanie do Was jak mógłbym to bardziej uprościć używając pętli for, wskaznika?

Był bym wdzięczny za jakiś przykład wskazówki.




const uint8_t tablica_liczb[]{ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
int liczba{-1};
uint32_t lastStepTime = 0;
bool flaga;
 

void setup() {
  Serial.begin(115200);
  Serial.println("Ustaw Wszystkie Piny na Output ");
}

void sequence_selected(uint8_t num_1, uint8_t num_2, uint8_t num_3) {
static uint8_t select{30};
static uint8_t designated{0};

  if(!flaga){
  if (millis() - lastStepTime > 2000) {
    Serial.println("Interwal co 1s: ");
    lastStepTime = millis();
    designated+=1;

    if(designated==1){
     liczba+=num_1;
     designated=2;
     Serial.println(tablica_liczb[liczba]);
    }
    if(designated==3){
     liczba+=num_2;
     designated= 4;
     Serial.println(tablica_liczb[liczba]);
    } 
   if(designated==5){
     liczba+=num_3;
     designated= 6;
     Serial.println(tablica_liczb[liczba]);
     select = num_1 + num_2 + num_3 -1;
    }
  } 
if(liczba >= select) {
  Serial.println("Reset");
  flaga=!flaga;
  liczba+=-1;
  select=0;
  designated= 0;
}}} 

void loop() {
sequence_selected(3,2,5);

}

 

Edytowano przez nebraska

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...