mikrocontroller.net

Forum: PC-Programmierung MSComm Visual Basic


Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche gerade mit einem Gerät zu kommunizieren, dass mit dem
FT232 USB-Seriell Wandler bestückt ist. Das Gerät funktioniert
einwandfrei mit der mitgelieferten Software, mit der selbstgeschrieben
klappt es leider nicht so ganz.

Ich fordere die Seriennummer an. Diese sollte lauten:
126 10 0 4 84 2 5 2 231

Wenn ich die Daten aber anfordere mischen sich unter die erhaltenen
Daten lauter Nullen. Mein Ergebnis lautet:
126 0 10 0 4 0 0 0 84 0 2 0 5 0 2 0 231 0

Einen defekt des Geräts kann ich ausschlißen. Ich glaube eher, dass es
ein Problem beim Empfangen ist.

Einstellungen:
SThreshold = 1
CommPort = 5
InBufferSize = 1024
InputLen = 0
NullDiscard = False
OutBufferSize = 512
RThreshold = 1
Settings = 921600,n,8,1

Ich hoffe, ihr könnt mir hier irgendwie helfen.

Viele Grüße
Steffen

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du es mal etwas langsamer versucht? Ich glaub InBufferSize und
InputLen sollten gleich sein (?)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es sowohl mit 9216000 Baud als auch mit 9600 Baud probiert. Die
Nullen erscheinen immer gleich. Im Datenblatt zum Gerät steht, dass das
Gerät "mit jeder Geschwindigkeit spricht", die Baudratea also egal
ist.

Eine Änderung, dass InBufferSize und InputLen gleich sind, verändert
leider nichts ...

Hat sonst noch jemand eine Idee?

Autor: Sobczak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das problem ist bekant. der mscomm eingang wird automatisch auf unicode
konvertiert und muss 'zurückgewandelt' werden.
beispiel:
ReadBuff = MSComm1.Input
in_buff = StrConv(ReadBuff, vbUnicode)
sollte helfen...
Gruß

Autor: castle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit der 0 wird in visualbasic das ende bekannt gegeben der übertragung.

castle

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dank euch - da ich sowieso in C# arbeiten muss uns VB nur zum Testen
verwendet habe, bin ich jetzt auf die FTD2XX.dll umgestiegen. Nach
kleineren Problemen beim Beginn klappt das jetzt recht gut.

Ich werds auf jeden Fall im Hinterkopf behalten für das nächste
VB-RS232 Projekt :-)

Viele Grüße
Steffen

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.