String mit rs485 Versenden

Hallo zusammen,
Mein sende befehl lautet wie folgt:

#include <RS485.h>
#include <SoftwareSerial.h>

char Message[maxMsgLen+1] ;
char empfang[maxMsgLen + 4 + 1];

void setup()
{
  Serial.begin(9600);
  Serial.println("System Startup - Sender");

  RS485_Begin(28800);
}

void loop()
{
  
  strcpy(Message,"0,0,0,02");
  
  if(RS485_SendMessage(Message,fWrite,ENABLE_PIN))
  {
    Serial.print("Sending:");
    Serial.println(Message);
  } 


   
 //if(RS485_ReadPlainMessage(fAvailable,fRead,message))
  if (RS485_ReadMessage(fAvailable, fRead, empfang))
  {
    Serial.print("Empfangen: ");
    Serial.println(empfang);
  }  

  delay(400);  
}

Nun möchte ich stat dies hier:

 strcpy(Message,"0,0,0,02");

etwa folgendes senden:

Variable1 = 1;
Variable2 = 2;
Variable3 = 1;
 strcpy(Message,Variable1 &","& Variable2 &"," & Variable3);

Ich möchte natürlich je nach zustand die Variablen setzen.

Vielen Dank für die Hilfe!

Was du wahrscheinlich willst ist snprintf() (wenn du nicht gerade auf einem ATtiny bist). Geht aber nicht mit Float!

Test Code:

void setup()
{
  Serial.begin(9600);

  int var1 = 10;
  int var2 = 200;
  int var3 = 3000;

  char message[30];
  snprintf_P(message, sizeof(message), PSTR("%d,%d,%d"), var1, var2, var3);
  Serial.println(message);
}

strncat() + itoa() ist auch eine Option:

void setup()
{
  Serial.begin(9600);

  int var1 = 10;
  int var2 = 200;
  int var3 = 3000;

  char message[20];
  char buf[8];
  itoa(var1, message, 10);
  strncat(message, ",", sizeof(message));
  strncat(message, itoa(var2, buf, 10), sizeof(message));
  strncat(message, ",", sizeof(message));
  strncat(message, itoa(var3, buf, 10), sizeof(message));

  Serial.println(message);
}