Welche Programmiersprache?
Gruß Richard
Hallo Leute,
Komischerweise finde ich weder in Google noch hier in der Forumssuche einen Befehl (wie 'inttostr' in Delphi), der mir Zahlen von int nach bin umwandelt...
Z.B.
variable1 = 24
variable2 = inttobin (variable1)
-> gebe ich variable2 aus, soll 0011001 etc rauskommen <-
Mfg
Welche Programmiersprache?
Gruß Richard
Bascom, bitte
Mit dem Befehl "Bin" machst du das.
Wenn du dieses Programm hast:
Dim A as Byte
A = 10
Dim B as String * 10
B = Bin(A)
Damit wandelst du die Zahl A in einen Binären String um.
Großartig, Danke!!
String*10?? Und wenn ich es per LEDs ausgebe brauche ich Byte?? -> PORTB = Bin(A)
Und statt Byte kann ich auch Integer nehmen?? Also wenn ich z.b. 2053 habe, dann reicht doch Byte nicht mehr... ?
Ja genau für Portausgabe heißt es dann "Print Bin(A). Und die genaue deffinition des Befehls ist:
Convert a numeric variable into the binary string representation.
Sollte dann auch mit Integer gehen. Weiß ich aber nicht genau. Musst du mal ausprobieren.
Was meinst Du denn genau mit "per LED ausgeben"? Sollen alle Bits nacheinander, d.h. seriell über einen einzigen Pin ausgegeben werden, oder alle Bits gleichzeitig über 8 bzw. 16 Anschlüsse?Und wenn ich es per LEDs ausgebe brauche ich Byte??
Nein du kannst mit "Bin" jeden Numerischen Wert in einen Binären String verwandeln den du dann auf den Ports ausgeben kannst.
Die Frage ging mehr an runner02 - der "Bin"-Befehl ist mir wohl geläufig, nur kann man ein Byte (oder mehrere Bytes) ja durchaus auch parallel über einen kompletten Port ausgeben...
mehrere Bytes gehen nur bei Ports mit mehr als 8 Bit, ansonsten beim 8-Bitter brauchst Du garnix umwandeln so lange Deine Zahl unter 256 bleibt passt das auf das Portregister. Wenn Du ne Word- oder Int- Variable auf zwei Ports verteilen willst machst Du das entweder über high() oder low() -Befehl oder legst gleich ne Overlayvariable an ...
dim x_word as word
dim lowbyte_word as byte at x_word overlay
dim highbyte_word as byte at x_word+1 overlay
dann nur noch
porta=lowbyte
portb=highbyte
Eine Dezimalzahl brauchst Du nicht in Binär umwandeln, der µC rechnet eh nur in Binärzahlen. Die Ausgabe von Dezimalzahlen muss dieser immer umrechnen
Vor den Erfolg haben die Götter den Schweiß gesetzt
Lesezeichen