Hi,
wieso denn so umständlich?
Code:Function Mc_firmware() As Byte
I2creceive &H82 , Mc_firmware
End Function
Druckbare Version
Hi,
wieso denn so umständlich?
Code:Function Mc_firmware() As Byte
I2creceive &H82 , Mc_firmware
End Function
oh ja hmm das ging jetzt echt einfach... *g* vielen Dank :)
habe da allerdings noch ein Problem und dann hast du mich sowas von glücklich gemacht *g*
Ich weise der Var mc_firmware den Wert "1.02" zu mit:
naja aber das mag Bascom aus irgendwelchen Gründen nicht, bekomme den Fehler: "Error 64 - expected".Code:const mc_firmware = "1.02"
Wenn ich die Var als integer deklariere dann geht alles, aber dann kann ich nur ganze Zahlen senden.
*verwirrt ist*
LG
Daniel
Hallo Daniel,
das ist somit ja als String definiert. Den müsstest du zerlegen und die Bytes einzeln schicken.
Ich würde das einfach als
und somit als Byte definieren und später zur Anzeige den Punkt reinsetzen.Code:const mc_firmware = 102
Ich mache das bei meinen Anwendungen (Master) so:
Wenn du das Bytearray mittels Overlay auf den String legst, kannst du die einzelnen Zeichen verschieben wie du willst.Code:Dim Lcdstring As String * 5
Dim Lcdarray(6) As Byte At Lcdstring Overlay
Sub Showversion
Lcd " SL-AQUARISTIK"
Locate 2 , 1
Lcdstring = Str(vers)
Lcdarray(5) = Lcdarray(3) : Lcdarray(3) = Lcdarray(2)
Lcdarray(2) = "." : Lcdarray(4) = "."
Lcd "Pegel V." ; Lcdstring
Wait 2
End Sub
Die Variable Vers wird dann auf dem LCD z. B. als 1.0.2 angezeigt.
Hi,
in deinem Fall könntest du das so schreiben:
Code:Dim Lcdstring As String * 4
Dim Lcdarray(5) As Byte At Lcdstring Overlay
Sub Showversion
Lcd " Mc_Firmware"
Locate 2 , 1
Lcdstring = Str(vers)
Lcdarray(4) = Lcdarray(3) : Lcdarray(3) = Lcdarray(2)
Lcdarray(2) = "."
Lcd "Vers. " ; Lcdstring
Wait 2
End Sub