fprintf Ungewollter Zeilenumbruch
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  fprintf Ungewollter Zeilenumbruch « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: fprintf Ungewollter Zeilenumbruch  (Gelesen 1653 mal)
 
Max Pohl
Jr. Member
**
Offline Offline

Beiträge: 65



Profil anzeigen
« am: März 01, 2010, 19:00:45 »

Hallo habe schon wieder eine Frage...
Und zwar möchte ich folgenden Text per RS232 an meine Console senden.
Dort erfolg jedoch nach dem Doppelpunkt ein Zeilenumbruch, der Inhalt von "string" wird erst in der nächsten Zeile ausgegeben?
Warum ist das so??
Wie bekomme ich dies in eine Zeile??

Leider
Code: (c)
if(strcmp(string, password))
      {
     
      fprintf(RS232_1,"Test:%s\n\r",string);
      output_high(pin_e1);
      }
 
   }



Gruß Max
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #1 am: März 01, 2010, 20:04:29 »

Hi Max,

Code:
\n\r
Springt in die neue Zeile und setzt den Cursor zurück.
%s ist ein Ausgabeparameter von der Print Funktion, was der macht hab ich gerade vergessen, das steht aber in der C-Spezifikation.
Also einfach \n\r entfernen.

Gruß
Stefan
Gespeichert

Max Pohl
Jr. Member
**
Offline Offline

Beiträge: 65



Profil anzeigen
« Antworten #2 am: März 01, 2010, 21:04:57 »

Ja das ist schon gewollt. Die Zeichen stehen ja auch am ende, deshalb dürfte das nicht die Ursache sein.
Habe es eben mal ausprobiert aber auch ohne die Zeichen ist das Ergebnis das selbe.

%s bedeutet das es sich um eine Zeichenfolge handelt, müsste also auch korrekt sein.
Gespeichert
slowslow
Gast
« Antworten #3 am: März 02, 2010, 11:15:47 »

Was ist denn der Inhalt von string ?
Sicher nur char und dann 0x00, oder ?
Gespeichert
Max Pohl
Jr. Member
**
Offline Offline

Beiträge: 65



Profil anzeigen
« Antworten #4 am: März 02, 2010, 17:43:28 »

Die String wird per RS232 von einem Servo Regler empfangen.
Dieser sendet: "string[CR][LF]"
Gespeichert
Max Pohl
Jr. Member
**
Offline Offline

Beiträge: 65



Profil anzeigen
« Antworten #5 am: März 03, 2010, 19:15:56 »

Ich habe eben eine seltsame Entdeckung gemacht:)
Ich habe den Rest meines Codes gelöscht, jetzt funktioniert alles.

Code: (c)
char string [30];

   fprintf(RS232_2,"GNODEADR\n"); //Knoten Abfrage   
   
   fgets(string,RS232_2);
   
   
   fprintf(RS232_1,"Motor sendet:%s\n\r",string);
Kann es sein das strcmp da irgendetwas in dem String verändert?
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.081 Sekunden mit 18 Zugriffen.
 
Top! Top!