Forum: Mikrocontroller und Digitale Elektronik Bascom: Single zu Word konvertieren


von jojansen (Gast)


Lesenswert?

Moin,
ich habe gerade ein Problem mit folgendem Codeschnipsel:

dim s as single
dim W as word

W = int(S)

Bascom ist der Meinung, daß es bei "W = Int(s)" ein Assignment error 
gibt.
Wie kann ich am sinnvollsten eine Single in ein Word umwandeln? Darum, 
daß der maximale Wert der Single den vom Word nicht übersteigt, sorge 
ich schon.
Letztendlich will ich einen vom ADC gemessenen Wert mit dem Produkt 
einer Berechnung vergleichen.
Ideen?
:-) Johannes

von Steffen W. (derwarze)


Lesenswert?

Hmm, soweit ich mich erinnere geht das in Bascom einfach mit W = s. 
Dabei werden die Nachkommastellen weggeworfen.

Wozu eigentlich die Singlevariable? Mach doch die Rechnung komplett mit 
WORD-Variablen.

von jojansen (Gast)


Lesenswert?

Hier mal der Schnipsel etwas ausführlicher:

dim s as single
dim umin as single
dim wumin as word

S = 10 / 1024
S = Umin / S
Wumin = S     alternativ: wumin = int(s)

Ich habe woander schon gelesen, daß das Umwandeln eigentlich kein 
Problem sein sollte, aber bei mir funktioniert es nicht.
:-) Johannes

von jojansen (Gast)


Lesenswert?

Ich mag es ja fast nicht sagen, aber bei der Variablendeklaration hatte 
ich einen klitzekleinen Schreibfehler gemacht schäm.
Mein Compiler mag jetzt, was ich geschrieben hatte.
@Steffen: Danke für Deine Antwort :-)
:-) Johannes

von Steffen W. (derwarze)


Lesenswert?

S=10/1024 ist unnötig da ja fest, da kannst Du auch gleich 
S=Umin*0,009765625 schreiben wenn S eine Singlevarable sein muss 
(vorausgesetzt die wird noch anderweitig im Programm verwendet und 
braucht da die Nachkommastellen)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.