Hey,
die Umwandlung einer Zahl ist doch ganz einfach.
Du hast die Zahl und machst jedesmal eine Modulo Operation mit den 10er Potenzen.
Ein Beispiel mit der Zahl 27:
Zahl = 27
Teil1 = 27 % 10 -> Teil1 = 7
Zahl = 27 / 10 -> Zahl = 2,77, da Bytevariable wird der Kommateil abgeschnitten und Zahl = 2
Teil2 = Zahl % 10 -> Teil2 = 2
Dein Zahlenstring generierst du nun so:
String_Zahl = chr(Teil2) + chr(Teil1)
Ausgeben kannst du das dann z.B. so:
Dim String_Zahl as String * 4
Dim String_Zahl_Overlay as Byte at String_Zahl Overlay
Dim Index as Byte
For Index = 1 to Len(String_Zahl)
Zahl = Hexval(String_Zahl_Overlay(Index))
PortX = Zahl
Der Code definiert einen String mit Namen "String_Zahl" mit einer Länge von 4. Dieser String beinhaltet deine Zahl als String.
Auf diesen String wird ein Array gelegt, so kannst du auf jedes Element des Strings mit den Regeln eines Arrays zugreifen (sprich das erste Element kannst du mit "String_Zahl_Overlay(1)" auslesen etc.)
Anschließend läuft eine Schleife los, die von 1 bis zur Stringlänge zählt (Abschlussbyte des Strings nicht vergessen!!!!!) und bei jedem Durchlauf das Zeichen mit der aktuellen Zählernummer ausließt, speichert und am PortX ausgibt.
Getestet ist das nicht, ist nur zusammen geschrieben. Evtl. ist die Syntax nicht korrekt aber es soll dir auch erstmal nur den Weg zeigen![]()
Lesezeichen