int- und char- Werte im Display ausgeben

Gast #284919
Lesenswert?
• ▲
▼
Hallo!

Ich bin mir sicher, ihr könnt mir helfen. Ich möchte auf meinem Display
z.B: zum Bugfixing Zahlen-Werte aus einer AD-Wandlung sowie
Zeichenfolgen, empfangen von UART ausgeben.

Ein Beispiel zu letzterem:

char buffer;
if (rbuffcnt) {
  buffer = ser_getc(); //Empfängt ein Zeichen vom uart
  lcd_write_s(buffer); //Schreibt eine Zeichenfolge auf das Display
  if(buffer == "1") {sm_go(1);} //Läßt einen schrittmotor fahren, wenn
1 empfangen wurde
}

Ich hoffe, ihr könnt mir helfen.
Weiterhin suche ich eine Dokumentation, wo ich Grundlegende
Programmierfragen wie diese suchen kann, das Tutorial reicht da nicht.

Besten Dank

Eric
#284920
Lesenswert?
• ▲
▼
Kauf Dir ein C-Buch. Das brauchst Du immer wieder.
Tutorials sind da kein Ersatz dafuer.

Schau Dir speziell den Unterschied an, den C zwischen
einem einzelnen Zeichen (einem char) und einer Zeichenfolge
(einem char-Array, \0-terminiert) macht.

Das s in lcd_write_s deute ich mal als 'String'. D.h. diese
Funktion erwartet keinen einzelnen char, sondern einen Pointer
auf eine Abfolge (ein Array) von char, wobei nach dem letzten
gewollten Zeichen noch ein '\0' folgen muss, um das Ende zu
markieren.

Auch kann man Strings in C nicht mit == vergleichen.
Dazu gibt es die Funktion strcmp(). Einzelne char kann mann
allerdings mittels == vergleichen. Nur ist "1" kein einzelner
char sondern ein String (also eine \0 terminerte Abfolge von
chars). '1' hingegen waere ein einzelnes char. Man beachte
die unterschiedlichen Anfuehrungszeichen:
   "   String
   '   einzelnes Zeichen

Dein Hauptproblem ist, dass Du in Deinem Code char und C-Strings
wie wild durcheinanderwuerfelst. Es gibt daher mehrere Moeglichkeiten
wie eine Korrektur aussehen muesste, je nachdem was eigentlich
gewuenscht wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.