Hallo Daniel,
ob du das als Hexwert, Binärwert oder sonstwie hast, spielt ja keine Rolle. Dein Slave muss nur wissen, auf welchen Wert er wie reagieren muss. Der Code, den ich gepostet habe, ist ein Programm von mir, da habe ich nur ein paar Sachen rausgelöscht. Vollständig ist das:
Code:
Select Case Messagebuf(1)
Case "S":
Tmp = Messagebuf(2)
If Tmp <> Portstate Then 'liegt der Wert so schon an?
Portd = Tmp
Portstate = Tmp
End If
Case "X":
Tmp = Lookup(messagebuf(2) , Prozente) 'Werte aus Tabelle holen
Pwm1a = Tmp
Pwm1b = Tmp
Case Else:
End Select
In diesem Teil werden ja die beiden gesendeten Bytes ausgewertet. Abhängig vom ersten Byte wird der Wert des zweiten Bytes umgesetzt. Ob man da jetzt Case "S" schreibt oder Case 88 ist Wurst. Mein Beispiel verwende ich für eine Lampensteuerung, die in meine Aquarienbeleuchtung eingebaut ist. Wenn "S" gesendet wird, wird das nächste Byte ausgewertet und auf den Port D gelegt. Hiermit werden die Vorschaltgeräte mehrerer Leuchtstoffröhren ein- oder ausgeschaltet. Wird ein "X" gesendet und danach ein Wert zwischen 0 und 100 (=Prozent) werden zwei Vorschaltgeräte über PWM angesteuert und sorgen für die Dimmung.
Edit: Das Grundgerüst des Programm stammt natürlich aus der RN-Wiki!
Lesezeichen