Lese kommandolinjeargumenter

Arduino:
Lese kommandolinjeargumenter

Slik gjør du:

Arduino-plattformen er tradisjonelt ikke linjeorientert – den har ikke et vanlig kommandolinjegrensesnitt i likhet med enkelte operativsystemer. Derfor simulerer vi argumenter via Serial-kommunikasjon.

void setup() {
  Serial.begin(9600); // Starter seriel kommunikasjon med 9600 baud
  while (!Serial) {
    ; // Vent til Serial-porten åpner
  }
}

void loop() {
  if (Serial.available() > 0) {
    // Les neste kommando
    String command = Serial.readStringUntil('\n');
    
    // Gjør noe basert på kommandoen
    if (command == "blink") {
      // Blink LED-kode 
    } else if (command == "status") {
      Serial.println("Systemet kjører.");
    }
  }
}

Eksempel på output:

Systemet kjører.

Dykk dypere

Tradisjonell kommandolinjelesing, som i POSIX systemer, bruker argc og argv for å håndtere argumenter; Arduino har ikke denne mekanismen. Men siden Arduino kan koble til en datamaskin via USB, bruker vi Serial-kommunikasjon som et middel for å sende inn argumentlignende data. Historisk har Arduinos opprinnelige formål vært å kjøre forhåndsprogrammert kode hvor argumenter var lite relevant, derfor det indirekte alternativet gjennom Serial. I implementering av Serial-kommunikasjon, husk at Arduino må vente til et Serial-vindu er tilgjengelig før den kan sende data tilbake til datamaskinen.

Se også