INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
20.11.2020, 01:02 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2020 09:53 von camouflage81.)
Beitrag #1
Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
Hallo zusammen,

ich habe ein Problem mit der seriellen Kommunikation zwischen einem vb.net Programm und einem "Beetle USB ATMEGA32U4".
Der serielle Monitor der Arduino IDE oder auch PuTTY zeigt mir die seriellen Daten an, die der MC sendet.
Nur mein VB.net Programm empfängt diese Daten nicht.

Code Arduino:
Code:
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hallo Welt!!");
  delay(1000);
}

Code VB.net:
Code:
Imports System.IO.Ports
Public Class Form1
    
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        SerialPort1.PortName = "COM5"
        SerialPort1.BaudRate = 9600
        SerialPort1.DataBits = 8
        SerialPort1.Parity = Parity.None
        SerialPort1.StopBits = StopBits.One
        SerialPort1.Handshake = Handshake.None
        SerialPort1.Encoding = System.Text.Encoding.Default
        SerialPort1.ReadTimeout = 10000
        SerialPort1.Open()
    End Sub

    Private Sub SerialPort_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        Dim strDataRec As String = ""
        Try
            Do Until strDataRec.Contains(vbCrLf) Or strDataRec.Contains(vbCr)
                strDataRec &= SerialPort1.ReadExisting
            Loop
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        strDataRec = strDataRec.Replace(vbCrLf, "").Replace(Chr(29), "").Replace(vbCr, "")
        Me.Invoke(Sub() Call SNCamRecive(strDataRec))
        SerialPort1.DiscardInBuffer()
    End Sub

    Private Sub SNCamRecive(strReciveValue As String)
        Console.WriteLine(strReciveValue)
    End Sub

End Class

Teste ich das ganze auf einem Arduino Nano, klappt alles ohne Probleme (Ist auch nicht das erste Projekt wo ich dieses VB.net Code-Beispiel erfolgreich eingesetzt habe).
Ich hoffe dass ich in diesem Forum richtig bin und mir jemand von euch weiterhelfen kann.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 09:47 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2020 09:50 von camouflage81.)
Beitrag #2
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
Zusätzliche Informationen,

mir ist aufgefallen, dass die Baudrate des seriellen Monitors der Arduino IDE bei der Verwendung des "ATMEGA32U4", ebenfalls keine Rolle spielt.
[Bild: 3l5qp7l4.jpg]

Ich kann auch Informationen (String) von meiner VB.net Anwendung zum "ATMEGA32U4" ohne Probleme über die serielle Schnittstelle übertragen.
Nur vom MC zum VB.net Programm funktioniert nicht, was wie oben schon beschrieben mit anderen Controllern und den gleichen Codes problemlos funktioniert.

Bin ratlos..

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 10:01
Beitrag #3
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
Schreib mal nach Serial.begin
Code:
while (!Serial);
Damit gewartet wird, bis die serielle Schnittstelle bereit ist.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 10:27
Beitrag #4
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
(20.11.2020 09:47)camouflage81 schrieb:  mir ist aufgefallen, dass die Baudrate des seriellen Monitors der Arduino IDE bei der Verwendung des "ATMEGA32U4", ebenfalls keine Rolle spielt.
Das liegt daran, dass der 32u4 eine native USB Schnittstelle hat. Auf dem ganzen Übertragungsweg zwischen 32u4 und dem seriellen Monitor ist wonirgends eine 'klassische' serielle Schnittstelle involviert. Deshalb ist die Baudrate irrelevant.
Beim 386P ist das anders. Da läuft die Verbindung zwischen 386P und dem seriell-USB Wandler über eine klassische UART Verbindung, bei der die Baudrate stimmen muss.

Der Hinweis von Tommy ist auch wichtig. Wenn Du einen Zähler mit einbaust, wirst Du sehen, dass die ersten print's gar nicht durchkommen:
Code:
int count = 0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.print("Hallo Welt!! " ); Serial.println(count++);
  delay(1000);
Es kann sogar passieren, dass ohne das 'while(!Serial); hinterher auf der USB Schnittstelle gar nichts mehr geht.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 15:28
Beitrag #5
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
(20.11.2020 10:01)Tommy56 schrieb:  Schreib mal nach Serial.begin
Code:
while (!Serial);
Damit gewartet wird, bis die serielle Schnittstelle bereit ist.

Gruß Tommy
Bin ich voll bei dir. Danke für den Hinweis.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 15:35 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2020 15:40 von camouflage81.)
Beitrag #6
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
(20.11.2020 10:27)MicroBahner schrieb:  
(20.11.2020 09:47)camouflage81 schrieb:  mir ist aufgefallen, dass die Baudrate des seriellen Monitors der Arduino IDE bei der Verwendung des "ATMEGA32U4", ebenfalls keine Rolle spielt.
Das liegt daran, dass der 32u4 eine native USB Schnittstelle hat. Auf dem ganzen Übertragungsweg zwischen 32u4 und dem seriellen Monitor ist wonirgends eine 'klassische' serielle Schnittstelle involviert. Deshalb ist die Baudrate irrelevant.
Beim 386P ist das anders. Da läuft die Verbindung zwischen 386P und dem seriell-USB Wandler über eine klassische UART Verbindung, bei der die Baudrate stimmen muss.

Danke für die Info.
Bin mir nur nicht im Klaren, was dies für mein vb.net Programm heißt.
Die Daten muss ich ja trotzdem irgendwie empfangen können.

Sie sind zumindest auch außerhalb der Arduino IDE empfangbar.
[Bild: v4kwujld.jpg]

Danke und Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 15:47
Beitrag #7
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
Wenn PuTTY das empfangen kann, kann es nur an deinem vb.net Programm liegen. Da kenn ich mich aber nicht aus. Vielleicht gibt es da ein Problem beim Öffnen/Schließen der Com-Verbindung.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.11.2020, 16:43 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2020 16:52 von camouflage81.)
Beitrag #8
RE: Beetle USB ATMEGA32U4 Serielle Kommunikation Issue
(20.11.2020 15:47)MicroBahner schrieb:  Wenn PuTTY das empfangen kann, kann es nur an deinem vb.net Programm liegen. Da kenn ich mich aber nicht aus. Vielleicht gibt es da ein Problem beim Öffnen/Schließen der Com-Verbindung.

Die Com-Verbindung wird geöffnet.
Wie schon geschrieben, mit allen anderen Controller "Arduino Nano, Wemos D1 mini, usw..." funktioniert der vb.net Code.

Nur mit dem ATMEGA32U4 eben nicht und mir ist nicht klar, wieso es nicht funktioniert.

Hier mit einem Arduino Nano:
[Bild: yukukgue.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Variable über serielle Eingabe befüllen ? Foto-Ralf 23 749 21.11.2020 11:23
Letzter Beitrag: Tommy56
Question UART Kommunikation bei Verwendung von WS2810 MRuoss 3 244 05.11.2020 23:27
Letzter Beitrag: hotsystems
  Flag Übergabe Fehlerhaft bei Serial Kommunikation Tobias1886 5 564 26.08.2020 17:04
Letzter Beitrag: Tobias1886
  Serielle Werte in String einlesen um damit zu rechnen 425t 2 433 26.08.2020 13:19
Letzter Beitrag: 425t
  Verzögerung bei Serieller Kommunikation dl3ad 15 2.702 27.05.2020 21:57
Letzter Beitrag: GuaAck
Question Arduino <-- Processing - Serielle Kommunikation Graf 9 1.240 05.04.2020 18:05
Letzter Beitrag: Graf
  Serielle Schnittstelle 50 baud Rainer2 14 1.484 26.03.2020 21:29
Letzter Beitrag: MicroBahner
  Vorlage für Char Array über Serielle Schnittstelle Luis90 2 765 08.03.2020 18:05
Letzter Beitrag: hotsystems
  IR Kommunikation Blende8 0 496 04.02.2020 09:47
Letzter Beitrag: Blende8
Question Serielle Kommunikation Arduino <-- Raspberry wolf 6 1.051 25.01.2020 18:05
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste