Seryjny.Drukuj vs szeregowy.Println w Arduino

Seryjny.Drukuj vs szeregowy.Println w Arduino
Arduino to popularna tablica mikrokontrolera, która jest powszechnie używana do projektów DIY, robotyki i urządzeń IoT. Jedną z podstawowych cech Arduino jest wymiana danych z komputerami za pomocą komunikacji szeregowej.

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
  • Seryjny.wydrukować()
  • Seryjny.println ()
  • Różnica między serialem.print () i szeregowy.println ()
  • Wniosek

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.