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
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.
Super! Allerbesten Dank für die schnelle Antwort!! nun funktioniert es prima! Gruß Eric
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.