Daten nicht untereinander sondern in einem String ausgeben

Gast #5457737
Lesenswert?

Hallo Leute,

ich hab ein kleines Problem, steh gerade völlig auf dem Schlauch ;-)
im moment werden mir die Werte wie folgt ausgegeben:

100;
237;
45;
34;

so wie im Code eben beschrieben ;-)


    sprintf(Sensor1,"%i;", ADCWert1);
    sprintf(Sensor2,"%i;", ADCWert2);
    sprintf(Sensor3,"%i;", ADCWert3);
    sprintf(Sensor4,"%i;\n", ADCWert4);




    uart_puts(Sensor1);
    uart_puts(Sensor2);
    uart_puts(Sensor3);
    uart_puts(Sensor4);

        _delay_ms(100);


Ich benötige die Daten aber im folgenden Format:
100;237;45;34;


Kann mir jemand sagen was ich abändern muss?
sorry bin völliger Neuling

alles was ich versucht habe das ganze mit "+" Sensor1 Sensor2 Sensor3 
Sensor4 brachte ein Compiler Fehler.

für eure Hilfe wäre ich Sehr Dankbar
#5457745
Lesenswert?

Vielleicht könnte es so funktionieren:
1
char sensorString[32];    //auf ausreichende Länge achten!
2
sprintf("%i;%i;%i;%i;\n", ADCWert1, ADCWert2, ADCWert3, ADCWert4);
3
uart_puts(sensorString);

Allerdings kann man auch nachforschen, warum die Werte denn in deinem 
Fall "untereinander" stehen, also woher der Zeilenumbruch zwischen den 
Werten kommt. Ich vermute, dass die uart_puts-Funktion oder die 
Empfangssoftware dieses Linebreak einfügt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren