Hallo zusammen
habe ein Problem und zwar baue ich gerade an einem Projekt welches ich "Room Control" getauft habe. Ich kann bi jetzt sämtliche Lampen und meine Heizung in Abhängigkeit der Temperatur steuern sowohl über Infrarot (rc-5) als auch über ein Programm am Rechner.
Da ich in VB (Visual Studio) leider nicht so bewandert bin hab ich mir dieses Programm aus Codeschnipseln zusammen gebastelt. Ich sende per Knopfdruck ein "a" und der mC verarbeitet dies dann und schaltet die Lampe etc.
Mein Programm empfängt auch die Temperatur eines kty über den einfachen Printbefehl. (Print Temp)
Jetzt mein Problem:
Ich habe mehrere Temp fühler und würde gerne alle in meinem Programm anzeigen können und zwar ohne auf einen Button zu drücken. Also mit einem Timer.
Jetzt ist mein Problem aber das der Print befehl ja nicht zielgerichtet ist und mein Programm nicht weiss von welchem Temp. Fühler nun die Daten kommen und in welchem Label er sie anzeigen soll.
Das ist der Code der die Daten empfängt:
Code:
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
SetText(SerialPort1.ReadExisting)
End Sub
Private Sub SetText(ByVal [text] As String)
' InvokeRequired required compares the thread ID of the
' calling thread to the thread ID of the creating thread.
' If these threads are different, it returns true.
If InvokeRequired Then
Dim d As New SetTextCallback(AddressOf SetText)
Me.Invoke(d, New Object() {[text]})
Else
lblkty1.Text = [text] & " °C "
End If
End Sub
Das Promm muss also irgendwie erkennen von welchem Fühler nun die Daten kommen.
Hoffe man kann mein Problem verstehen und mir vielleicht auch helfen
Lesezeichen