Aké znaky sa odosielajú do Arduina cez sériový port z Monitora?

Zápisník experimentátora

Pre začiatočníka nie je ľahké pochopiť, že okrem viditeľných znakov sa v ASCII tabuľke nachádzajú aj neviditeľné znaky. Pomocou programu Monitor sériového portu môžeme jednoduchým spôsobom komunikovať s Arduinom. Tento program ukazuje, čo presne odošlete do Arduina. Každý odoslaný znak je zobrazený spolu so svojou hexadecimálnou hodnotou. Vizualizáciu každého znaku som urobil tak, aby bolo čo najlepšie vidno každú hodnotu. Špeciálne neviditeľné znaky \r a \n sú zobrazené tak, ako sa zapisujú do zdrojového kódu.

Program

V programe Monitor sériového portu vyskúšajte rôzne kombinácie ukončovania riadku a sledujte výstup z programu.

int received;
char buffer[20];

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

void loop() {
  if (Serial.available() > 0) {
    received = Serial.read();
    switch (received) {
      case '\r':
        sprintf(buffer, "\\r [%02x] ", received);
        Serial.print(buffer);
        break;
      case '\n':
        sprintf(buffer, "\\n [%02x]", received);
        Serial.print(buffer);
        Serial.println();
        break;
      default:
        Serial.write(received);
        sprintf(buffer, " [%02x] ", received);
        Serial.print(buffer);
        break;
    }
  }
}

Zdrojový kód

Zdrojový kód sa nachádza na serveri GitHub.


05.03.2018


Menu