Oznaczenia UART na Arduino GIGA: Serial1, Serial2, Serial3, Serial4

Pytanie

Arduino GIGA .Jakie są właściwe oznakowania Seriali UART, różne źródła podają różne dane.
Wg mnie na płytce występuje :
Serial1 -> TX0/RX0 (D1.D0)
Serial2 -> TX1/RX1 (D18,D19)
Serial3 -> TX2/RX2 (D16,D17)
Serial4 -> TX3/RX3 (D14,D15)

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • Tak – Twoje przyporządkowanie jest właściwe dla Arduino GIGA R1 WiFi:
    • Serial1 → TX0/RX0 (D1/D0)
    • Serial2 → TX1/RX1 (D18/D19)
    • Serial3 → TX2/RX2 (D16/D17)
    • Serial4 → TX3/RX3 (D14/D15)
  • Dodatkowo: Serial (bez numeru) to port USB‑CDC na złączu USB‑C, nie jest wyprowadzony na żadne piny. (docs.arduino.cc)

Szczegółowa analiza problemu

  • Źródło rozbieżności: na płytkach z natywnym USB (takich jak GIGA) obiekt Serial jest przypisany do interfejsu USB, a nie do pinów D0/D1, przez co sprzętowe UART-y na złączach śrubowych/goldpinach zaczynają się od Serial1. W starszych rodzinach (np. Mega 2560) Serial odnosił się do D0/D1, stąd częste nieporozumienia. (forum.arduino.cc)
  • Oficjalny pinout GIGA R1 WiFi pokazuje jednoznacznie oznaczenia TX0/RX0…TX3/RX3 przy pinach D1/D0, D18/D19, D16/D17 i D14/D15. To odpowiada odpowiednio Serial1…Serial4 w Arduino. (docs.arduino.cc)
  • Sama płytka ma cztery sprzętowe UART-y dostępne na złączach (plus osobny USB‑CDC). Potwierdza to aktualny User Manual (datasheet) oraz karta produktu. To ugruntowuje, że mapowanie obejmuje dokładnie cztery interfejsy UART na pinach. (docs.arduino.cc)

Praktyczna konsekwencja:

  • Jeżeli chcesz komunikować się przez D0/D1, używaj Serial1, a nie Serial (Serial to USB). Analogicznie dla pozostałych par pinów: używaj Serial2/3/4 zgodnie z opisem TX1/RX1, TX2/RX2, TX3/RX3. (forum.arduino.cc)

Aktualne informacje i trendy

  • Stan na 2025‑12‑05: oficjalne materiały Arduino (User Manual zaktualizowany 2025‑12‑03 oraz pinout PDF) potwierdzają 4× UART i pokazują właściwe pozycje TX/RX dla wszystkich par; dawniej w dokumentacji i na forach zdarzały się nieścisłości, które Arduino sukcesywnie korygowało. (docs.arduino.cc)
  • Zgłoszony błąd sitodruku dotyczył wyłącznie sekcji zasilania (3.3V/5V) w części egzemplarzy – nie interfejsów UART – co także mogło potęgować niepewność użytkowników. (support.arduino.cc)

Wspierające wyjaśnienia i detale

  • Poziomy logiczne na liniach UART to 3.3 V (nie 5 V). Podłączanie urządzeń 5‑voltowych wymaga translacji poziomów lub odpowiednich transceiverów (np. RS‑232/RS‑485). (docs.arduino.cc)
  • Krzyżuj linie: TXn z RX urządzenia zewnętrznego i RXn z TX, pamiętając o wspólnej masie (GND).
  • Serial (USB) i Serial1…4 są niezależne – możesz debugować przez USB (Serial), a równolegle prowadzić transmisję przez UART-y na pinach. (forum.arduino.cc)

Przykładowy szkic weryfikacyjny:

  • Podłącz konwerter USB‑UART 3.3 V kolejno do par: (D1↔TX, D0↔RX), (D18↔TX, D19↔RX), (D16↔TX, D17↔RX), (D14↔TX, D15↔RX).
  • Wgraj i obserwuj w terminalu konwertera odpowiednie porty:
    void setup() {
    Serial.begin(115200); while(!Serial) {}
    Serial1.begin(115200); Serial2.begin(115200);
    Serial3.begin(115200); Serial4.begin(115200);
    Serial.println("GIGA UART self-test start");
    }
    void loop() {
    Serial1.println("Hello from Serial1 (D1/D0)");
    Serial2.println("Hello from Serial2 (D18/D19)");
    Serial3.println("Hello from Serial3 (D16/D17)");
    Serial4.println("Hello from Serial4 (D14/D15)");
    delay(500);
    }

Aspekty etyczne i prawne

  • Ochrona sprzętu: nie podawaj poziomów 5 V ani sygnałów RS‑232 bezpośrednio na piny UART – grozi to uszkodzeniem. Zastosuj konwertery poziomów/standardów zgodne z przeznaczeniem. (docs.arduino.cc)

Praktyczne wskazówki

  • Jeśli chcesz „podglądać” Serial1–Serial4 z komputera, użyj osobnego konwertera USB‑UART (TTL 3.3 V) dla każdej testowanej pary pinów.
  • Przy łączeniu dwóch płytek GIGA krzyżuj TX1↔RX1, GND↔GND itd.; pamiętaj, że transmisja USB (Serial) to osobny kanał do debugowania. (forum.arduino.cc)

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • W starszych wątkach i materiałach występowały sprzeczne opisy; aktualny pinout PDF jest źródłem referencyjnym. W razie wątpliwości sprawdzaj datę dokumentu (pinout: 2023‑07‑12; User Manual: 2025‑12‑03). (docs.arduino.cc)

Sugestie dalszych badań

  • W projektach wymagających izolacji/odporności EMC rozważ interfejs RS‑485 (MAX485/ISO1450 itp.) współpracujący z którymś z UART-ów GIGA.
  • Jeżeli planujesz intensywną komunikację wielokanałową, przetestuj obciążenie CPU i zajętość buforów dla kilku SerialX jednocześnie (profilowanie czasu w przerwaniach).

Krótkie podsumowanie

  • Mapowanie, które podałeś, jest prawidłowe: Serial1(D1/D0), Serial2(D18/D19), Serial3(D16/D17), Serial4(D14/D15). Serial (bez numeru) to wyłącznie USB‑CDC. Najpewniejszym źródłem jest pinout PDF oraz aktualny User Manual; historyczne rozbieżności w sieci wynikają z różnic między rodzinami płytek i z wcześniejszych błędów w dokumentacji. (docs.arduino.cc)

Oceń odpowiedź: 1
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (2min)...