Guten Morgen,
ich habe ein kleines Problem bei dem ich nicht weiter komme und hoffe ihr könnt mir dabei helfen.
Und zwar soll ich versuchen über ein selbst geschriebenes Programm in VB.net einen Beamer zu starten bzw. zu beenden.
Der Befehl dazu ist laut Handbuch PWR ON/OFF.
Jedoch macht der Beamer beim schicken der Daten kein Mucks. Ich habe auch schon auf einem Rechner ein Programm installiert welches überprüft ob Daten an der seriellen Schnittstelle rausgehen und laut diesem Programm kommen auf jedenfall Daten an. Der Beamer schickt mir auch keine Daten zurück. Er macht einfach nichts.
Hier mal Codeschnippsel wo ich den Seriellen Port öffne:
Und wo ich die Daten abschicke:
Und hier das Empfangen der Daten:
Wäre über Hilfe sehr froh und schon mal ein großes Danke im voraus
Viele Grüße
Märry
ich habe ein kleines Problem bei dem ich nicht weiter komme und hoffe ihr könnt mir dabei helfen.
Und zwar soll ich versuchen über ein selbst geschriebenes Programm in VB.net einen Beamer zu starten bzw. zu beenden.
Der Befehl dazu ist laut Handbuch PWR ON/OFF.
Jedoch macht der Beamer beim schicken der Daten kein Mucks. Ich habe auch schon auf einem Rechner ein Programm installiert welches überprüft ob Daten an der seriellen Schnittstelle rausgehen und laut diesem Programm kommen auf jedenfall Daten an. Der Beamer schickt mir auch keine Daten zurück. Er macht einfach nichts.
Hier mal Codeschnippsel wo ich den Seriellen Port öffne:
VB.NET-Quellcode
- With SerialPort1
- If Not .IsOpen Then
- Try
- .PortName = "COM3"
- .BaudRate = 9600
- .DataBits = 8
- .Parity = Parity.None
- .StopBits = StopBits.One
- .WriteTimeout = 1000
- .ReadTimeout = 1000
- .Open()
- Debug.WriteLine("Port Open: " & SerialPort1.IsOpen)
- Catch ex As Exception
- MessageBox.Show(ex.Message, "Fehler beim Öffnen", MessageBoxButtons.OK, MessageBoxIcon.Error)
- Exit Sub
- End Try
- End If
- End With
Und wo ich die Daten abschicke:
VB.NET-Quellcode
- Dim BefehlsString As String = txtUebertragung.Text + vbNewLine
- Dim enc As System.Text.Encoding = New System.Text.ASCIIEncoding()
- With SerialPort1
- Dim ByteArray() As Byte ' Oder String in ...
- ByteArray = enc.GetBytes(BefehlsString) ' ... Einzelbytes umwandeln
- .BaseStream.Write(ByteArray, 0, ByteArray.Length) ' Einzelbytes senden
- MessageBox.Show("Unbekannte Codevariante", "Senden ...")
- End Select
- End With
Und hier das Empfangen der Daten:
VB.NET-Quellcode
- Dim enc As System.Text.Encoding = New System.Text.ASCIIEncoding()
- With SerialPort1
- Try
- Select Case txtEmpfangen.Text '(hier steht 1 drin)
- Case 1
- PufferString = .ReadExisting
- Me.Invoke(Datenanzeigen)
- Case 2
- For I As Integer = 1 To .BytesToRead ' Alle Bytes einzeln lesen
- Dim ByteArray() As Byte = {.BaseStream.ReadByte} ' 1 Byte lesen
- PufferString = enc.GetString(ByteArray) ' Array in String
- Me.Invoke(Datenanzeigen) ' Delegaten aufrufen
- Next
- Case Else
- MessageBox.Show("Unbekannte Codevariante", "Empfangen ...")
- End Select
- Catch ex As Exception
- MessageBox.Show(ex.Message, "Fehler beim Empfangen ...")
- End Try
- End With
Wäre über Hilfe sehr froh und schon mal ein großes Danke im voraus
Viele Grüße
Märry