COM Port HEX Verschicken

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von nook.

    COM Port HEX Verschicken

    Hallo Leute,
    Ich bin seit heute Mitglied in euer Community :)

    Nunja dann möchte ich gleich einmal zu meinem Problem kommen.

    Ich habe recht gute Kentnisse in VB6. Da ich es aber nicht schaffe VB6 unter Windows7 zu instalieren muss ich jetzt VB 2008 Express benutzen. Davon habe ich mal absolut keinen Plan :S

    Mein Rechner hat ein LCD Display eingebaut, das ich gerne ansteuern möchte. Ich habe es auch schon geschafft einen Hex Code an das Display zu senden um meinen Wunschtext anzuzeigen. Jetzt möchte ich mir gerne mit VB 2008 Express eine GUI dafür bauen.

    Ich weis nur das es wieder ein Objekt namens "SerialPort" gibt. Wie man es benutzt, und wie man es schafft das VB dann darüber meine eingegebenen Hex werte via Com Port Nr. 2 verschickt weis ich nit.

    Ich hoffe ihr könnt mir da weiterhelfen.
    ungefähr so:

    VB.NET-Quellcode

    1. Dim s As New System.IO.Ports.SerialPort("Com2", 19200, IO.Ports.Parity.None, 8, IO.Ports.StopBits.One)
    2. s.Open()
    3. s.Write("irgendwas")
    4. s.Close()


    Alles in allem also recht simpel.

    Hängt jetzt noch davon ab, was du unter "HEX senden" verstehst ...
    Willst du den STRING "FF" senden, weil du 255 meinst, oder willst du nur den WERT 255 senden, der in Hexadezimalschreibweise halt FF ist?
    Danke schoneinmal für deine Antwort. Habe es gerade einmal getestet und VB hat mir folgenden Fehler gesagt:

    Der Zugriff auf den Anschluss Com2 wurde verweigert.

    Also ich muss auf den Comport Nr2 Zugreifen, mit dem Com Port sniffer geht es auch ohen Probleme.
    So habe ich es jetzt gemacht:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim s As New System.IO.Ports.SerialPort("Com2", 19200, IO.Ports.Parity.None, 8, IO.Ports.StopBits.One)
    4. s.Open()
    5. s.Write("255")
    6. s.Close()
    7. End Sub
    8. End Class


    Zu der HEX eingabe:
    20 77 77 77 2e 4e 6f 6f 4b 32 34 2e 1b 21 1b 51
    Dieser schöne Wert würde z.B. meine Homepage URL auf das Display zaubern. Schön wäre es wenn ich einen ASCII in Hex Wandler hätte, aber das kommt später, das ist nicht so schwer...
    erstmal muss ich überhaupt mit VB auf die COM Schnittstelle richtig zugreifen können


    ---EDIT---

    Ich habe gerade nochmal etwas mit meinem COM Port Sniffer gespielt und festgestellt, dass ich auch einen String an das Display schicken kann.

    ---EDIT---

    Ich glaube ich habe es geschafft! Mein Fehler war die Busrate. Die habe ich mal auf 8900 gestellt und jetzt zeigt das Display meinen Text den ich in VB eingebe auf dem Display an :)

    Aber um die Sondersysmbole wie das E-Mail Logo, oder die Lautstärke auf dem Display anzuzeigen, muss ich es direkt in Hex ansprechen...

    Hier ein kleines vid wie es bisher aussieht...
    youtube.com/watch?v=hrTXfZ20dgo

    ---EDIT---

    Version 2.0 ist fertig. Jetzt sind alle Buggs gefixxt und ich kann alle Symbole des LCDs verwenden:
    youtube.com/watch?v=5F3AhbPlMSA

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „nook“ ()