Nano Every --> 2x Serial Port (RX0 / RX1 / TX0 / TX1)

Hallo Forum,

in einer Projektarbeit habe ich die Aufgabe ein GPS über UART (Serial Pin RX1/TX1) einzulesen.
Die Daten zu verarbeiten und mit dem Format UART (Serial Pin RX0 / TX0) an einen übergeordneten Prozessor zu senden.

Eingesetzt Hardware: NANO Every (Aufgrund von Platzverhältnissen)
GPS hängt am RX1/TX1 der Nano Every.

Das Problem / Die Frage:

Kann ich den RX0/TX0 (der im USB Port sitzt) für eine UART Datenübertragung an einen übergeordneten Microkontroller nutzen? Da diese Serial Pins normalerweise für eine "PC Datenübertragung" gedacht sind.

Idee: USB Kabel abisolieren und die 2 Kabel (RX0/TX0) dann wieder professionell mit einem Steckverbinder auf der Platine verbinden.
Für Die Programmierung des Every dann das abisolierte Kabel abziehen und mit einem 2ten USB Kabel in den "Programmiercomputer".

(PS: Einen Software Serial Port zu erstellen über einen normalen digitalen Pin ist nicht möglich. ....Baudrate / Sicherheit)

Ich finde hierzu leider nur wenig Dokumentation.
Ich bitte um Informationen und gerne auch um Code um das ganze zu implementieren.
Wenn ihr weitere Informationen brauchst GERNE anschreiben!

Vielen Dank
Grüße Bernd

Hallo,

Du kannst den externe uc doch direkt an die beiden Pins Rx, Tx anschliessen. Allerdings sollte dann nicht gleichzeitig was von der USB schnittstelle kommne. Solange das nur 5V ankommt geht das doch. Wenn Du den Nano dann befruchten willst steckst Du die beiden Leitungen zum externe uc ab ( Stecker) .

Allerdings wir die sketch Entwicklung etwas umständlich da du ja keine Serial.print zum debuggen nutzen kannst. Ich Könnte mit aber vorstellen das man mit der Lib Softserial eine zweite schnittstelle mit ganz anderen Pins machen kann. Dann hast Du insgesamt 3 und die normale bleibt frei.

Heinz

bb_93:
Idee: USB Kabel abisolieren und die 2 Kabel (RX0/TX0)

Schlechte Idee, denn das USB-Kabel enthält D+ und D-, nicht aber RX0 und TX0, die nicht auf Pins geführt sind.

bb_93:
(PS: Einen Software Serial Port zu erstellen über einen normalen digitalen Pin ist nicht möglich. ....Baudrate / Sicherheit)

Mit dieser Begründung entfallen alle mir bekannten Alternativen, weshalb ich Dir zu einer anderen Hardware rate.

Kannst du deine Abneigung zu SoftwareSerial noch etwas besser begründeten ?

(deleted)

Hallo,

eine Option wäre noch das Paket von GitHub - MCUdude/MegaCoreX: An Arduino hardware package for ATmega4809, ATmega4808, ATmega3209, ATmega3208, ATmega1609, ATmega1608, ATmega809 and ATmega808 zu installieren, dann hast du eine 3. und 4. Serielle zur Verfügung.

Alternativ kannst du den USB-Port für serielle Übertragung nur verwenden, wenn du daran einen USB-Serial Wandler anklemmst. Bsp. FTDI FT232RL oder CH340 o.ä., Wobei das dann doppelt gemoppelt wäre. Atmega Serial > SAMD11 USB > und wieder extern zurück nach Serial. Wäre aber möglich.

Bist Du sicher daß die der Arduino EVERY eine USB HOST Schnittstelle hat? Sonst kann man keinen USB Slace anschließen.

GPS Empfänger haben meist eine niedrige Baudrate sodaß der Anschluß über eine softwareemulierte serielle Schnittstelle kein Problem ist.
Grüße Uwe

Hallo,

muss mich wegen der 4. seriellen Schnittstelle korrigieren. Steht zwar in der Doku, aber wenn der Nano Every mit MegaCoreX Paket ausgewählt ist, gibts nur die 3. Hardware Serielle dazu. Ich vermute ein Fehler in dem Paket. Weil laut Doku überall die 4. erwähnt wird, auch beim Nano Every.

Wegen USB Host/Slave. Gut das du fragst. Weiß ich nicht. Ich dachte man kann das grundsätzlich jederzeit wieder zurückwandeln?

Edit:
kurze Recherche ergab. Der verbaute SAMD11D14 hat kann kein USB-Host.

Doc_Arduino:
Wegen USB Host/Slave. Gut das du fragst. Weiß ich nicht. Ich dachte man kann das grundsätzlich jederzeit wieder zurückwandeln?

Edit:
kurze Recherche ergab. Der verbaute SAMD11D14 hat kann kein USB-Host.

Nein. Eine USB-Schnittstelle braucht eine explizite Hardware damit dieser als Host funktionieren kann. Die meisten Geräte allgemein und Arduinos im speziellen sind nur Slave.
Grüße Uwe