mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 dim. CHAR- Arrays dynamisch gestalten


Autor: Frank N. (frank_aus_wob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein 2 dimensionales CHAR-Array. Ich möchte aber keinen 
feststehenden Text definieren, sondern Variablen angeben. Z.B. 
Temperatur, Datum, Zeit, usw. Wie muß ich das programmieren? Hat jemand 
eine Lösung?

char  *pc[]
{
  "hier Variable 1",
  "hier Variable 2",
  "hier Variable 3",
};

Gruß
Frank

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank N. schrieb:
> Temperatur, Datum, Zeit, usw.

Das klingt nach drei Dimensionen oder mehr.

Wie wäre es mit einem 1-dimensionaen Array of struct?
https://stackoverflow.com/a/32185804/3303008

Und was meinst Du mit "dynamisch gestalten"?

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank N. schrieb:
> ich habe ein 2 dimensionales CHAR-Array.

Hast Du nicht.

Frank N. schrieb:
> char  *pc[]

das ist kein zweidimensionales char-Array.

... und was Du eigentlich machen willst, habe ich nicht verstanden.

Autor: Frank N. (frank_aus_wob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank für Eure Antworten. Ich möchte gerne auf die Fragen 
eingehen, um das Problem gelöst zu bekommen.

mein Ziel: Daten eines Uhrenmoduls einem Sketch für Laufschrift zu 
übergeben und die Daten dementsprechend als Laufschrift darzustellen.

vorhanden ist:  Arduino UNO, DS3231 Uhrenmodul, Sketch Parola für die 
Laufschrift

mein Problem: kann die Variablen vom Uhrenmodul nicht korrekt übergeben.

Hier die Variablendeklaration vom Uhrenmodul. Funktioniert.
char wandelDatum[20];
  sprintf(wandelDatum, "%02d.%02d." , Tag, Monat);
  char wandelZeit[20];
  sprintf(wandelZeit, "%02d:%02d:%02d" , Stunde, Minute, Sekunde);

  String Text;
  Text = Wochen_Tag + " " + String(wandelDatum) + " " + String(wandelZeit) + " Temperatur: " + String(Temperatur) + " C";


Hier die Programmierung aus dem übernommenen Sketch für das Lauflicht.
Ich möchte den feststehenden Text (hier Variable 1, hier Variable 2, 
hier Variable 3) durch Variablen ersetzen. Diese Variablen können 
Temperatur, Zeit, Datum ,.... sein, deren Werte sich ständig ändern. Es 
können auch mehr als 3 Variablen sein - je nach dem was ich anzeigen 
lassen möchte. Da möchte ich möglichst frei sein.
// Global variables
uint8_t  curText;

char  *pc[]
{
  "hier Variable 1",
  "hier Variable 2",
  "hier Variable 3",
};


Die nachfolgenden Programmzeilen verarbeiten dann die Variablen curText 
bzw. *pc[].

if (P.displayAnimate()) // animates and returns true when an animation is completed
  {
    // Set the display for the next string.
    curText = (++curText) % ARRAY_SIZE(pc);
    P.setTextBuffer(pc[curText]);
    // When we have gone back to the first string, set a new exit effect
    // and when we have done all those set a new entry effect.
    if (curText == 0)
    {
      outFX = (++outFX) % ARRAY_SIZE(effect);
      if (outFX == 0)
      {
        inFX = (++inFX) % ARRAY_SIZE(effect);
        if (inFX == 0)
          P.setInvert(!P.getInvert());
      }

      P.setTextEffect(effect[inFX], effect[outFX]);
    }


Ich hoffe mich verständlich ausgedrückt zu haben und sehe euren 
Antworten mit großem Interesse entgegen. Vielen Dank vorab für eure 
Mühe.

Gruß
Frank

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.

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