Seryjny.wydrukować() I Seryjny.println () są dwoma najczęściej używanymi poleceniami do komunikacji szeregowej w Arduino. Ten artykuł obejmie różnice między Seryjny.wydrukować() I Seryjny.println () i jak wpływają one na Twój projekt Arduino.
Spis treści
Co to jest komunikacja seryjna
Zanim zanurzymy się w różnicach między Seryjny.wydrukować() I Seryjny.println (), Najpierw zrozummy, co Komunikacja szeregowa Jest. Komunikacja szeregowa to proces przesyłania i odbierania danych. Korzystanie z tego Arduino może przesyłać jeden bit danych na raz, z protokołem komunikacji szeregowej. W Arduino używamy obiektu szeregowego do wymiany danych z komputerem za pomocą portu USB.
Komunikacja szeregowa jest niezbędne do debugowania i monitorowania zachowania projektu Arduino. Możesz go użyć do wydrukowania odczytów czujników, kodu debugowania lub wyświetlania wiadomości na ekranie komputera.
Seryjny.wydrukować()
Seryjny.wydrukować() jest funkcją, która wysyła dane do portu szeregowego w ciągłym strumieniu. Pozwala wysyłać dane jako ciąg, znak lub wartość numeryczna. Na przykład podany kod wysyła ciąg „Witaj świecie!„Do Arduino Serial Port:
Seryjny.Drukuj („Cześć, świat!");
Seryjny.wydrukować() nie dodaje żadnych pęknięć linii ani zwrotów karetki na końcu danych, więc dane są ciągle drukowane na tej samej linii.
Seryjny.println ()
Seryjny.println () jest podobne do Seryjny.wydrukować(), ale dodaje znak przełomu linii (\ n) na końcu danych. To pokazuje nam to za każdym razem Seryjny.println () Funkcja jest wywoływana, następna instrukcja drukowania rozpocznie się w nowej linii. Na przykład podany kod wysyła ciąg „Witaj świecie!”I dodaje przerwę na linii:
Seryjny.println („Cześć, świat!");
To wydrukuje „Witaj świecie!”Na terminalu seryjnym Arduino.
Różnica między serialem.print () i szeregowy.println ()
Podstawowa różnica między Seryjny.wydrukować() I Seryjny.println () czy to Seryjny.wydrukować() wysyła dane w ciągłym strumieniu, a Seryjny.println () Wysyła dane z przerwą liniową na końcu.
Teraz omówimy przykładowy kod, który wyjaśnia oba te funkcje.
Seryjny.przykład () przykład
Poniżej znajduje się kod wyjaśniający użycie Seryjny.wydrukować():
void setup ()
Seryjny.rozpocząć (9600); // Zainicjuj komunikację szeregową w tempie 9600 BAUD
void Loop ()
int RandomValue = losowo (0, 1023); // wygeneruj wartość losową między 0 a 1023
Seryjny.print („Wartość losowa:”); // Wydrukuj etykietę
Seryjny.druk (losowa wartości); // Wydrukuj losową wartość na nowej linii
Opóźnienie (2000); // poczekaj na 500 milisekund przed ponownym wydrukiem
Ten kod inicjuje komunikację szeregową z szybkością transmisji 9600 w funkcji Setup (). Funkcja pętli () generuje następnie losową wartość liczb całkowitą między 0 a 1023 za pomocą funkcji Random () i przechowuje ją w nazwie zmiennej Losowa wartość.
Seryjny.wydrukować() Następnie funkcja jest używana do wydrukowania etykiety „Wartość losowa: ”Do monitora szeregowego, a następnie rzeczywistej losowej wartości, która jest drukowana na tej samej linii bez nowej postaci linii przy użyciu Seryjny.wydrukować().
opóźnienie() Funkcja służy do zatrzymania wykonywania pętli przez 2000 milisekund (2 sekundy).
Wyjście
W wyjściu możemy zobaczyć, jak wszystkie wartości są drukowane w jednym wierszu bez żadnego zerwania linii.
Seryjny.Przykład println ()
Dany kod pokazuje użycie Seryjny.println () Funkcja w Arduino.
void setup ()
Seryjny.rozpocząć (9600); // Zainicjuj komunikację szeregową w tempie 9600 BAUD
void Loop ()
int RandomValue = losowo (0, 1023); // wygeneruj wartość losową między 0 a 1023
Seryjny.print („Wartość losowa:”); // Wydrukuj etykietę
Seryjny.println (RandomValue); // Wydrukuj losową wartość na nowej linii
Opóźnienie (2000); // poczekaj na 500 milisekund przed ponownym wydrukiem
Kod dla Seryjny.println () jest podobny do powyższego Seryjny.wydrukować() kod. Jedyną różnicą tutaj są wartości losowe, które są generowane i drukowane z przerwą linii, której brakuje w Seryjny.wydrukować() kod.
Wyjście
Wszystkie wartości są drukowane w nowej linii, jak użyliśmy Seryjny.wydrukować() zamiast Seryjny.println ():
Wniosek
Komunikacja szeregowa jest istotnym aspektem programowania Arduino. Seryjny.wydrukować() I Seryjny.println () Funkcje są przydatne do wyświetlania danych na terminalu szeregowym Arduino. Zrozumienie różnicy między nimi i odpowiednio ich używanie może pomóc w debugowaniu kodu i komunikacji z urządzeniami zewnętrznymi.