Oct
14

Comment lire des chaînes à partir d'une série dans Arduino

10/14/2023 04:30 PM par Admin dans Iot


Dans ce didacticiel rapide, nous verrons comment lire les chaînes de saisie utilisateur à partir du moniteur série Arduino ou d'autres terminaux série. Étapes rapides.

  • Définissez serial_buffer_len qui sera l'entrée utilisateur maximale que vous attendez.
  • Définissez le débit en bauds série souhaité.
  • Vérifiez si nous avons des données série disponibles en utilisant Serial.available().
  • Appelez la fonction read_serial_input() définie par l'utilisateur pour charger le serial_buffer.
//Serial buffer
#define serial_buffer_len  80
char serial_buffer[serial_buffer_len];
String user_input = "";

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

void loop() {
	if (Serial.available() > 0){
		if (read_serial_input(Serial.read(), serial_buffer, serial_buffer_len) > 0) {
			user_input = String(serial_buffer);
		}
		Serial.println("serial user input:" +user_input);	
	}
}

// funtion to read user serial input
int read_serial_input(int read_ch, char *buffer, int len) {
    static int pos = 0;  
    int rpos;   
    if (read_ch > 0) {
        switch (read_ch) {
            case '\r': // Ignore CR
                break;
            case '\n': // Return on new-line
                rpos = pos;
                pos = 0;  // Reset position index ready for next time
                return rpos;
            default:
                if (pos < len-1) {
                    buffer[pos++] = read_ch;
                    buffer[pos] = 0;
                }
        }
    }
    return 0;
}

Après avoir téléchargé l'exemple de code, ouvrez le moniteur série et saisissez quelque chose comme hello world, puis vous le verrez imprimé sur le moniteur série. Il s'agit d'un extrait de code très utile au cas où vous souhaiteriez saisir des chaînes de l'utilisateur et souhaitez effectuer des actions dessus.


Tes pensées

Rechercher
PARRAINER
CRYPTOWATCH
SUIVEZ NOUS
derniers tweets

Nouvel outil ajouté : Calculateur de dimensions de zoom SVG.

PARRAINER

Snow: ON
Snow: ON