Odczyt znaku z portu szeregowego
Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 15 z 22.
Połączenie szeregowe działa w obie strony. Tekst wpisany w polu monitora szeregowego i wysłany za pomocą Wyślij trafia do płytki znak po znaku i czeka tam w buforze, aż szkic go odczyta.
Serial.available() informuje, ile znaków czeka. Serial.read() pobiera następny znak z bufora. Jeden znak mieści się w zmiennej char, zapisywanej w apostrofach:
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1') {
// Wpisano 1
}
}'1' zapisane w apostrofach to znak 1 — klawisz, który naciskasz. To nie jest liczba 1: płytka przechowuje ten znak jako kod 49.
Monitor szeregowy wysyła też niewidoczny znak nowej linii, zapisywany jako '\n', po wszystkim, co wpiszesz. Szkic reaguje na znaki, które rozpoznaje, a pozostałe pomija.
Wyzwanie
ŁatwyDioda LED jest podłączona do pinu 13. Steruj nią za pomocą monitora portu szeregowego:
- gdy znak oczekuje na odczyt, wczytaj go do zmiennej typu
char '1'włącza diodę LED,'0'ją wyłącza- każdy inny znak, na przykład znak nowej linii, niczego nie zmienia
Naciśnij Run, wpisz 1 lub 0 w monitorze portu szeregowego i naciśnij Send, a następnie Check.
Spróbuj swoich sił
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// gdy czeka znak, odczytaj go
// '1' włącza diodę LED, '0' ją wyłącza
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wejścia
3Wejście szeregowe
Odczyt znaku z portu szeregowegoPolecenia słowneSzybkość migania z portu szeregowegoMiganie na poleceniePoćwicz samodzielnie: Edytor online Arduino