Serial.print()

Description

Affiche les données sur le port série.

Affiche les données sous le port série sous forme lisible pour les humains (texte ASCII). Cette instruction peut prendre plusieurs formes.

  • Les nombres entiers sont affichés en utilisant les caractères ASCII pour chaque chiffre.
  • Les nombres à virgules (float) sont affichés de la même façon sous forme de caractères ASCII pour chaque chiffre, par défaut avec 2 décimales derrière la virgule.
  • Les valeurs de type byte sont affichés sous la forme d'un caractère ASCII.
  • Les caractères et les chaînes sont affichés tels que.

Par exemple:

Serial.print(78); // affiche "78" Serial.print(1.23456); // affiche "1.23" Serial.print(byte(78)); // affiche "N" (dont la valeur ASCII est 78) Serial.print('N'); // affiche "N" Serial.print("Hello world."); // affiche "Hello world."

Un second paramètre optionnel (format) spécifie:

  • Pour les nombres entiers, la base à utiliser. Les valeurs autorisées sont BYTE, BIN (binaire, ou base 2), OCT (octal, ou base 8), DEC (décimal, ou base 10), HEX (hexadécimal, ou base 16),
  • Pour les nombres à virgules (float), le paramètre précise le nombre de décimales après la virgule à utiliser.

Par exemple:

Serial.print(78, BYTE); // affiche "N" Serial.print(78, BIN) ; // affiche "1001110" Serial.print(78, OCT); // affiche "116" Serial.print(78, DEC); // affiche "78" Serial.print(78, HEX); // affiche "4E" Serial.print(1.23456, 0); // affiche "1" Serial.print(1.23456, 2); // affiche "1.23" Serial.print(1.23456, 4); // affiche "1.2346"

Syntaxe de base

Serial.print(val) Serial.print(val, format)

Paramètres

  • val: la valeur à afficher. N'importe quel type de données.
  • format: spécifie la base utilisée(pour les nombres entiers) ou le nombre de décimales (pour les nombres de type float)

Valeurs Renvoyées

  • Aucune

Syntaxe détaillée

Cette commande peut prendre de nombreuses formes:

Serial.print(b) avec aucun format spécifié, affiche b en tant que nombre decimal sous la forme d'une chaîne de caractère ASCII. Par exemple:

int b = 79; Serial.print(b);

Affiche la chaîne de caractère "79".

Serial.print(b, DEC) affiche b en tant que nombre décimal sous la forme d'une chaine de caractères ASCII. Par exemple:

int b = 79; Serial.print(b, DEC);

Affiche la chaîne de caractères "79".

Serial.print(b, HEX) affiche b en tant que nombre hexadécimal sous la forme d'une chaîne de caractère ASCII. Par exemple:

int b = 79; Serial.print(b, HEX);

Affiche la chaîne de caractères "4F".

Serial.print(b, OCT) affiche b en tant que nombre octal sous la forme d'une chaîne de caractère ASCII. Par exemple:

int b = 79; Serial.print(b, OCT);

Affiche la chaîne de caractères "117".

Serial.print(b, BIN) affiche b en tant que nombre binairesous la forme d'une chaîne de caractère ASCII. Par exemple:

int b = 79; Serial.print(b, BIN);

Affiche la chaîne de caractères "1001111".

Serial.print(b, BYTE) affiche b en tant que simple octet, ce qui est interprété comme un caractère ASCII. Par exemple:

int b = 79; Serial.print(b, BYTE);

Renvoie le caractère "O", ce caractère ASCII étant représenté par la valeur 79. Pour plus d'informations, voir le Code ASCII.

Serial.print(str) si str est une chaîne ou un tableau de variables char, affiche str sous la forme d'une chaîne de caractère ASCII. Par exemple:

Serial.print("Hello World!");

Affiche la chaîne de caractère "Hello World!".

Paramètres détaillés

  • b: l'octet à afficher, ou
  • str: la chaîne à afficher

Exemple

Exemple 1

void setup() { Serial.begin(9600); // ouvre le port série à 9600 bauds // prints character Serial.print('A'); Serial.print('R'); Serial.print('D'); Serial.print('U'); Serial.print('I'); Serial.print('N'); Serial.print('O'); Serial.print('\n'); // prints a new line character Serial.print('\n'); // prints a new line character // affiche le texte Serial.print("ArduinoGetStarted.com"); Serial.print("\n\n"); // affiche le texte with two new line characters // prints a floating point number float a = 1.23456; Serial.print(a); // prints 2 decimal places by default Serial.print('\n'); // prints a new line character Serial.print(a, 4); // prints 4 decimal places Serial.print('\n'); // prints a new line character Serial.print(a, 5); // prints 5 decimal places Serial.print('\n'); // prints a new line character Serial.print(a, 6); // prints 6 decimal places Serial.print("\n\n"); // affiche le texte with two new line characters int x = 77; // prints an integral number in diffrent format in a table Serial.print("DEFAULT"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print(x); // affiche un decimal en chaîne ASCII- comme "DEC" Serial.print('\n'); // prints a new line character Serial.print("DEC"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print(x, DEC); // affiche un décimal en chaîne ASCII Serial.print('\n'); // prints a new line character Serial.print("HEX"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print(x, HEX); // affiche un hexadecimal en chaîne ASCII Serial.print('\n'); // prints a new line character Serial.print("OCT"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print(x, OCT); // affiche un octal en chaîne ASCII Serial.print('\n'); // prints a new line character Serial.print("BIN"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print(x, BIN); // affiche un binaire en chaîne ASCII } void loop() { }

The result on Serial Monitor:

COM6
Send
ARDUINO ArduinoGetStarted.com 1.23 1.2346 1.23456 1.234560 DEFAULT 77 DEC 77 HEX 4D OCT 115 BIN 1001101
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Exemple 2

void setup() { Serial.begin(9600); // ouvre le port série à 9600 bauds Serial.print("DEFAULT"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print("DEC"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print("HEX"); // affiche le texte Serial.print('\t'); Serial.print("OCT"); // affiche le texte Serial.print('\t'); // affiche un tab Serial.print("BIN"); // affiche le texte Serial.print('\n'); // prints a new line character // affiche une partie de la table ASCII for (int x = 0; x <= 16; x++) { // print it out in many formats: Serial.print(x); // affiche un decimal en chaîne ASCII- comme "DEC" Serial.print('\t'); // affiche un tab Serial.print(x, DEC); Serial.print('\t'); // affiche un tab Serial.print(x, HEX); // affiche un hexadecimal en chaîne ASCII Serial.print('\t'); // affiche un tab Serial.print(x, OCT); // affiche un octal en chaîne ASCII Serial.print('\t'); // affiche un tab Serial.print(x, BIN); // affiche un binaire en chaîne ASCII Serial.print('\n'); // prints a new line character delay(50); // pause de 50 millisecondes } } void loop() { }

The result on Serial Monitor:

COM6
Send
DEFAULT DEC HEX OCT BIN 0 0 0 0 0 1 1 1 1 1 2 2 2 2 10 3 3 3 3 11 4 4 4 4 100 5 5 5 5 101 6 6 6 6 110 7 7 7 7 111 8 8 8 10 1000 9 9 9 11 1001 10 10 A 12 1010 11 11 B 13 1011 12 12 C 14 1100 13 13 D 15 1101 14 14 E 16 1110 15 15 F 17 1111 16 16 10 20 10000
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Remarque:

  • Attention si vous faites des opérations mathématiques dans les parenthèses, par exemple:
Serial.print(x-2, DEC);
  • Le type de donnée unsigned et le type de donnée byte donneront des résultats incorrects et laisser à penser qu'ils sont de type signé (tel que le type de donnée char).
  • La fonction Serial.print met les données dans le buffer série. Il faut attendre qu'un caractère soit émis avant d'envoyer le caractère suivant. Sinon la fonction recommence avant d'envoyer le dernier caractère.

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES