Forum: Mikrocontroller und Digitale Elektronik Arduino Leonardo(ATmega32U4) Serial1 will nicht richtig


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Robin H. (Firma: vkl) (4klee)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir auf Ebay ein Arduino Board gekauft mit dem ATmega32u4 
bestückt.

(Arduino-Pro-Micro-komp-ATmega32U4-USB-Entwicklungsboard-5V-16MHz)
Erkannt wird das ganze als Arduino Leonardo Board.

Ich verwende einige Digital Pin für Tasten. Das funktioniert sehr gut.

Jetzt wollte ich die Serial1 Schnittstelle benutzen. Dabei habe ich 
Probleme.
Was immer ich für ein Code Beispiel von ARDUINO benutze Z.b:
https://www.arduino.cc/en/Tutorial/MultiSerialMega

Sollte von port1 auf port0 ausgeben und umgekehrt.

Die Serielle Ausgabe von der Arduino IDE wird permanent besendet mit 
leeren Zeichen oder non printable characters.

Ob ich ein Device auf RX1 angesteckt habe oder nicht scheint dabei keine 
Rolle zu spielen.

Gemäß der Beschreibung sollte die Schnittstelle Serial1 ttl conform 
laufen.
https://www.arduino.cc/en/Reference/Serial
Das Device funktioniert jedoch mit einem TTL Converter am PC 
einwandfrei.

Ist der Serial1 Port womöglich hinüber oder ich zu blöd?

von Christian M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ohne jetzt nachzuschauen: Braucht die ser1+ evtl. Softserial? (Nur eine 
Hardware-Serielle?)

Gruss Chregu

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Christian M. schrieb:
> Braucht die ser1+ evtl. Softserial?

Nein!
Serial geht über USB
Serial1 ist vom Type  Hardwareserial.

Robin H. schrieb:
> Das Device funktioniert jedoch mit einem TTL Converter am PC
> einwandfrei.
>
> Ist der Serial1 Port womöglich hinüber oder ich zu blöd?

Wenn das am PC über einen Konverter funktioniert, dann ist die 
Schnittstelle in Ordnung.

Also baust du irgendeinen Mist.
Aber ka welchen....

von Robin H. (Firma: vkl) (4klee)


Bewertung
0 lesenswert
nicht lesenswert
Kann ich die Arduino serial1 Schnittstelle testen.  Ich vermute dass die 
einen Schaden hatt.

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Eine Brücke zwischen TX und RX schlagen.
Dann muss das aus Serial1 wieder raus kommen, was du rein steckst.

von Jacko (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das hat mir auch den Einstieg zum Arduino-UNO vermiest!

Die serielle Schnittstelle an Pin 0 und 1 wird (über USB) vom
Arduino-Entwicklerprogramm konfisziert und ist zumindest in der
Entwicklungsphase nicht frei nutzbar. (Ich glaube mit Einstellung
auf 115,2 kBaud kann man das "abhören".)

Obwohl man ein µC-Board hat, das HW-Serial kann, darf man sich mit
SW-Serial rumärgern. Daher liegt der erwartungsvoll gekaufte UNO
schon seit Wochen ungenutzt rum...

von Arduino Fanboy D. (ufuf)


Bewertung
1 lesenswert
nicht lesenswert
Jacko schrieb:
> Die serielle Schnittstelle an Pin 0 und 1 wird (über USB) vom
> Arduino-Entwicklerprogramm konfisziert und ist zumindest in der
> Entwicklungsphase nicht frei nutzbar. (Ich glaube mit Einstellung
> auf 115,2 kBaud kann man das "abhören".)
Bein Leonardo ist das nicht der Fall.

Jacko schrieb:
> Obwohl man ein µC-Board hat, das HW-Serial kann, darf man sich mit
> SW-Serial rumärgern. Daher liegt der erwartungsvoll gekaufte UNO
> schon seit Wochen ungenutzt rum...
Du kannst den USB Seriell Wandler des UNO, ein ATMega16U2, im Reset 
halten.
Eine Steckbrücke auf dessen ISP reicht.
Dann kannst du Pin0 und Pin1, und damit auch Hardware Serial, 
ungehindert für eigene Zwecke nutzen.

: Bearbeitet durch User
von Robin H. (Firma: vkl) (4klee)


Bewertung
0 lesenswert
nicht lesenswert
Also ich habe heute wieder getestet.

Byte von serial1 sollen auf serial ausgegeben werden.

Die ganze Anzeige wird vollgemüllt.

Der Arduino sendet permanent auf Serial1. Obwohl nichts dransteckt.
Ich habe mir jetzt noch einen bestellt um zu schauen ob der einen defekt 
hat.

Ich war auch der Meinung dass der Leonardo den HW SERIAL1 ohne weiters 
benutzen kann unabhängig der USB Verbindung zum PC.

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Ich war auch der Meinung dass der Leonardo den HW SERIAL1 ohne weiters
> benutzen kann unabhängig der USB Verbindung zum PC.
Ich stimme dir zu!

Dieses Programm habe ich mal getestet:
https://www.arduino.cc/en/Tutorial/MultiSerialMega

Anpassung:
Eine Steckbrücke zwischen Tx1 und Rx1
Und eine zusätzliche Zeile in Setup, extra für den Leonardo
1
void setup() {
2
  // initialize both serial ports:
3
  Serial.begin(9600);
4
  Serial1.begin(9600);
5
  while(!Serial); // Warte auf öffnen der Schnittstelle
6
}

Es werden alle Eingaben von der seriellen Konsole angezeigt.

Wenn ich dann die Steckbrücke ziehe, kommen keine Schrottdaten.
Wenn da bei dir Schrott kommt, dürfte dein ATMega32U4 (oder das Board) 
wirklich defekt sein.

: Bearbeitet durch User
von Robin H. (Firma: vkl) (4klee)


Bewertung
0 lesenswert
nicht lesenswert
Interessant jetzt scheint es zu funktionieren.
Aber kannst du mir jetzt erklären. Warum der erst keinen Müll mehr 
sendet wenn ich zwischen rx & tx eine Brücke mach.

Ich versteh das nicht?

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Wenn RxD keinen klaren Pegel bekommt, dann könnte das für die Serielle 
wie Daten aussehen.
Floatende Eingänge spielen Antenne, und deine Serielle Hardware macht 
aus dem Restrauschen des Urknalls halt eben schöne 8bittige Bytes.

Warum das bei mir nicht passiert?
KA, vielleicht wohne ich in einer ruhigeren Ecke dieses Universums...

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.