Jaké znaky se odesílají do Arduina přes sériový port z Monitoru?

Zápisník experimentátora

Pro začátečníka není snadné pochopit, že kromě viditelných znaků v ASCII tabulce nacházejí i neviditelné znaky. Pomocí programu Monitor sériového portu můžeme jednoduchým způsobem komunikovat s Arduinem. Tento program ukazuje, co přesně odešlete do Arduina. Každý odeslán znak je zobrazen spolu se svou hexadecimální hodnotou. Vizualizaci každého znaku jsem udělal tak, aby bylo co nejlépe vidět každou hodnotu. Speciální neviditelné znaky \r a \n jsou zobrazeny tak, jak se zapisují do zdrojového kódu.

Program

V programu Monitor sériového portu vyzkoušejte různé kombinace ukončování řádku 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 se nachází na serveru GitHub.


05.03.2018


Menu