www.mikrocontroller.net

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


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Boxi Boxitec (boxi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
% könnte helfen

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Boxi,

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.