Merci beaucoup à tous, j'ai pu réussir mon programme et j'arrive maintenant à récupérer ce que je reçois.
Voici mon code pour ceux qui reste intéressés :
int EHP;
int EHC;
int n;
SoftwareSerial mySerial(3, 4); // RX, TX
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("TESTS");
tft.begin();
}
void loop()
{
char s[11]; // à dimensionner en fonction de la chaine espérée
s[n]=0;
float prixHC=0.0001230;
float prixHP=0.0001580;
char AffPrixHP[6];
char AffPrixHC[6];
if (mySerial.available())
{
n = mySerial.readBytes(s, sizeof s - 1);
s[n] = 0; // marque la fin de la chaine
}
char *a, *b, *c;
Serial.println(s);
b = strtok(s, "P");
c = strtok(0, "\0");
//Serial.print("ConsoHP=");
Serial.println(b);
//Serial.print("ConsoHC=");
Serial.println(c);
sscanf(b, "%d", &EHP);
sscanf(c, "%d", &EHC);
float prixConsoHP=(EHP*prixHP);
float prixConsoHC=(EHC*prixHC);
tft.setCursor(5,85);
tft.println(b);
tft.setCursor(32,85);
tft.println("Wh en heures pleines");
tft.setCursor(5,105);
tft.println(c);
tft.setCursor(32,105);
tft.println("Wh en heures creuses");
tft.setCursor(165,85);
tft.println(prixConsoHP);
tft.setCursor(200,85);
tft.println("euros");
tft.setCursor(165,105);
tft.println(prixConsoHC);
tft.setCursor(200,105);
tft.println("euros");
}