Hallo zusammen,
ich komme hier nicht weiter.
Ich habe zwei Mega8 die ständig mit einander über RS232 kommunizieren.
Ich habe nun Long-Variablen die ich in Bytes zerlegen, über RS232 senden und auf der Gegenseite wieder zusammenbauen möcht.
Also die Kommunikation über RS232 mit Startbyte, Array und Checksum funktioniert alles einwandfrei.
Momentan gehe ich bei der Zerlegung der Variablen "mathematisch" vor. Das ist glaub ich weder effektiv noch elegant und ein Resoursenfresser.
Ich habe es bisher so beim Sender:
Mir ist wichtig das ich die Bytes der "aufgeteilten" Variablen ganz klar unterseiden kann. Also am liebsten so.Code:.... Dim Eu as Long Dim Eur1 as Long Dim Eur2 as Long Dim Eur3 as Long Dim Eu1 as Byte Dim Eu2 as Byte 'als Beispiel nur eine der insgesamt 7 Variablen des Arrays Eu= 89800 'Beispielwert Eur1 = Eu / 255 Eur3 = Eur1 * 255 Eur2 = Eu - Eur3 Eu1 = Eur1 Eu2 = Eur2 'geht das da oben nicht einfacher?????????? C = 0 D = 0 Stb = 233 B(1) = VariableX B(2) = VariableA1 B(3) = VariableA2 B(4) = T1 B(5) = T2 B(6) = Eu1 B(7) = Eu2 For D = 1 To 7 C = C Xor B(d) Next Printbin Stb ; B(1) ; C Senden und Empfangen ist kein Problem!
B(6) = Teil eins der Variablen EU
B(7) = Teil zwei der Variaben EU
Hier der Empfänger:
Ich hab irgendwie was von SHIFT usw. gelesen. Aber irgendwie peil ich das gar nicht.Code:...... Dim Eu As Long Dim Euneu3 As Long Dim Euneu2 As Byte Dim Euneu1 As Byte ' hier werden die Daten empfangen---- Euneu3 = Euneu1 * 255 Euneu = Euneu3 + Euneu2
Wie geht das denn einfacher, ohne viele Variablen zu "verbraten" und mir den Controller zukleistere?
Gruß
Markus
Lesezeichen