Forum: Mikrocontroller und Digitale Elektronik Übergabe von Stringkonstanten mit Überlauf in C


von Tom (Gast)


Lesenswert?

Hallo zusammen,

ich hab mal wieder eine Anfängerfrage:

ich muss über einen String an verschiedene Routinen Werte übergeben.

const unsigned int delta_alpha[4] = {178, 622, 622, 178};

Bei Betätigung z. B. Taster1 soll delta_alpha[0] übergeben werden, bei 
erneuter Betätigung delta_alpha[1] usw.
Nachdem delta_alpha[3] übergeben wurde und Taster1 wieder gedrückt wird, 
soll wieder bei delta_alpha[0] begonnen werden.
Das gleiche via Taster2 nur entgegengesetzt.

Wie Programmiere ich diesen "Überlauf"?

Vielen Dank im Voraus.

Gruß

Tom

von Boxi B. (boxi)


Lesenswert?

% könnte helfen

von Tom (Gast)


Lesenswert?

Hallo Boxi,

vielen Dank für den Tip. => Läuft schon

von Karl H. (kbuchegg)


Lesenswert?

% wäre auf einem PC das Mittel der Wahl.
Auf einem µC ohne Hardware Division würde mir das
allerdings im Allgemeinen zu lange dauern (*)

    if( i == 3 )
      i = 0;
    else
      i++;

ist deutlich kompakter. Sowohl was Codesize als
auch Ausführungsgeschwindigkeit anbelangt.


(*) Mit der Ausnahme natürlich, wenn der Divisor eine
2-er Potenz ist. In dem Fall ist

     i++;
     i = i % 4;

eine einfache AND Operation und der Compiler wird diese
Variante wahrscheinlich auch mit einem AND implementieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.