Interpolation de chaînes de caractères

Arduino:
Interpolation de chaînes de caractères

How to:

L’Arduino n’a pas d’interpolation de chaînes intégrée comme dans d’autres langages, mais on peut concaténer et utiliser sprintf. Voici un exemple :

char buffer[50];
int sensorValue = analogRead(A0);
float temperature = sensorValue / 10.0;

sprintf(buffer, "Valeur: %d, Temp: %.1f", sensorValue, temperature);
Serial.println(buffer);

Sortie :

Valeur: 402, Temp: 40.2

Deep Dive

Historiquement, les microcontrôleurs avaient peu de mémoire, donc les fonctions comme sprintf étaient évitées. Aujourd’hui, avec plus de RAM, on les utilise pour leur simplicité, malgré leur gourmandise en ressources.

Dans d’autres contextes, on pourrait utiliser des méthodes d’interpolation de chaînes plus avancées, comme la classe String en Arduino :

String message = "Valeur: " + String(sensorValue) + ", Temp: " + String(temperature);
Serial.println(message);

Cependant, les objets String peuvent fragmenter la mémoire, donc leur usage est parfois déconseillé.

Pour une utilisation mémoire optimale, on peut assembler manuellement les chaînes en manipulant les tableaux de caractères.

See Also