mikrocontroller.net

Forum: Compiler & IDEs Variable auf LCD ausgeben - Problem


Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin zusammen,
ich habe jetzt am Wochenende geschafft ein LCD Modul anzusteuern. Und 
das funktioniert auch alles wunderprächtig :-). Doch nun will ich nen 
Schritt weiter gehen und meine Variablen-Inhalte ebenfalls ausgeben.

Also habe ich einfach den Code meiner UART_put_integer etwas angepasst. 
Das Funktioniert auch soweit, nur habe ich das Problem, wenn ich zum 
Beispiel i=1 sende, dann zeigt er mir 1-- an.
Bei i=100 zeigt er mir 100 an.
Wie kann ich die benötigten Stellen auf dem LCD dynamisch halten?

void LCD_send_Integer(const int16_t var) {

   char s[7];

   LCDstring( itoa( var, s, 10 ),3);
}

void LCDstring(uint8_t* data, uint8_t nBytes)  //Outputs string to LCD
{
register uint8_t i;

  // print data
  for(i=0; i<nBytes; i++)
  {
    LCDsendChar(data[i]);
  }
}

Vielen Dank für eure Ratschläge

Grüße Marcel

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

itoa erzeugt ja ein c-string sprich der ist null-terminiert... 
vielleicht LCDstring( itoa( var, s, 10 ), strlen( s ) );
machen...

lg ;)

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute Idee :)

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

Bewertung
0 lesenswert
nicht lesenswert
Marcel schrieb:
> Gute Idee :)

Schlechte Idee.
Schreib deine String Funktion richtig. Die braucht nämlich die Länge gar 
nicht explizit zu kennen.
void LCDstring( const char * data)  //Outputs string to LCD
{
  while( *data )
    LCDsendChar( *data++ );
}

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.