Serial.print() I Serial.println() to dwa najczęściej używane polecenia do komunikacji szeregowej w Arduino. W tym artykule omówimy różnice między Serial.print() I Serial.println() i jak wpływają one na Twój projekt Arduino.
Spis treści
- Co to jest komunikacja szeregowa
- Serial.print()
- Serial.println()
- Różnica między Serial.print() a Serial.println()
- Wniosek
Co to jest komunikacja szeregowa
Zanim zagłębimy się w różnice między Serial.print() I Serial.println() , najpierw zrozummy, co Komunikacja szeregowa Jest. Komunikacja szeregowa to proces przesyłania i odbierania danych. Za pomocą tego Arduino można przesyłać jeden bit danych na raz za pomocą protokołu komunikacji szeregowej. W Arduino używamy obiektu Serial do wymiany danych z komputerem za pomocą portu USB.
Komunikacja szeregowa jest niezbędny do debugowania i monitorowania zachowania projektu Arduino. Możesz go użyć do wydrukowania odczytów czujnika, kodu debugowania lub wyświetlenia komunikatów na ekranie komputera.
Serial.print()
Serial.print() to funkcja, która wysyła dane do portu szeregowego w ciągłym strumieniu. Umożliwia wysyłanie danych w postaci ciągu znaków, znaku lub wartości liczbowej. Na przykład podany kod wysyła ciąg znaków „ Witaj świecie! ” do portu szeregowego Arduino:
Wydruk.seryjny ( 'Witaj świecie!' ) ;
Serial.print() nie dodaje końca wiersza ani powrotu karetki na końcu danych, więc dane są drukowane w sposób ciągły w tym samym wierszu.
Serial.println()
Serial.println() jest podobne do Serial.print() , ale dodaje znak końca wiersza (\n) na końcu danych. Pokazuje nam to za każdym razem Serial.println() wywołana zostanie funkcja, następna instrukcja print rozpocznie się w nowym wierszu. Na przykład podany kod wysyła ciąg znaków „ Witaj świecie! ” i dodaje podział wiersza:
Serial.println ( 'Witaj świecie!' ) ;
Spowoduje to wydrukowanie „ Witaj świecie! ” na terminalu szeregowym Arduino.
Różnica między Serial.print() a Serial.println()
Podstawowa różnica między Serial.print() I Serial.println() czy to Serial.print() wysyła dane w ciągłym strumieniu, podczas gdy Serial.println() wysyła dane z podziałem linii na końcu.
Teraz omówimy przykładowy kod, który wyjaśnia działanie obu tych funkcji.
Serial.print() Przykład
Poniżej znajduje się kod wyjaśniający użycie Serial.print() :
unieważnić konfigurację ( ) {Serial.początek ( 9600 ) ; // zainicjować komunikację szeregową o godz 9600 szybkość transmisji
}
pusta pętla ( ) {
int wartość losowa = losowo ( 0 , 1023 ) ; // wygenerować losową wartość pomiędzy 0 I 1023
Wydruk.seryjny ( 'Losowa wartość: ' ) ; // wydrukuj etykietę
Wydruk.seryjny ( losowaWartość ) ; // wypisz losową wartość w nowym wierszu
opóźnienie ( 2000 ) ; // Czekać Do 500 milisekund przed ponownym drukowaniem
}
Ten kod inicjuje komunikację szeregową z szybkością 9600 bodów w funkcji setup(). Następnie funkcja loop() generuje losową wartość całkowitą z przedziału od 0 do 1023 za pomocą funkcji random() i zapisuje ją w nazwie zmiennej losowaWartość .
The Serial.print() funkcja jest następnie używana do drukowania etykiety „ Wartość losowa: ” do monitora szeregowego, po którym następuje rzeczywista losowa wartość, która jest drukowana w tej samej linii bez użycia znaku nowej linii Serial.print() .
The opóźnienie() funkcja służy do wstrzymania wykonywania pętli na 2000 milisekund (2 sekundy).
Wyjście
Na wyjściu widzimy, że wszystkie wartości są drukowane w jednym wierszu bez podziału wiersza.
Serial.println() Przykład
Podany kod demonstruje użycie Serial.println() funkcja w Arduino.
unieważnić konfigurację ( ) {Serial.początek ( 9600 ) ; // zainicjować komunikację szeregową o godz 9600 szybkość transmisji
}
pusta pętla ( ) {
int wartość losowa = losowo ( 0 , 1023 ) ; // wygenerować losową wartość pomiędzy 0 I 1023
Wydruk.seryjny ( 'Losowa wartość: ' ) ; // wydrukuj etykietę
Serial.println ( losowaWartość ) ; // wypisz losową wartość w nowym wierszu
opóźnienie ( 2000 ) ; // Czekać Do 500 milisekund przed ponownym drukowaniem
}
Kod dla Serial.println() jest podobny do powyższego Serial.print() kod. Jedyną różnicą są tutaj losowe wartości, które są generowane i drukowane z podziałem wiersza, którego brakuje w pliku Serial.print() kod.
Wyjście
Wszystkie wartości są drukowane w nowej linii, tak jak użyliśmy Serial.print() zamiast Serial.println() :
Wniosek
Komunikacja szeregowa jest istotnym aspektem programowania Arduino. The Serial.print() I Serial.println() funkcje są przydatne do wyświetlania danych na terminalu szeregowym Arduino. Zrozumienie różnicy między nimi i odpowiednie ich użycie może pomóc w debugowaniu kodu i komunikowaniu się z urządzeniami zewnętrznymi.