Variabelvergleich funktioniert nicht

Status
Nicht offen für weitere Antworten.

10110010

Neuer Benutzer
#1
Hallo leute,

ich habe vollgenden Code:

Code:
local counter=0
local v=4.2

local function run()
	voltage=v
	counter=counter+1
	if counter==100 then
		voltage=v
		v=v-0.01
		counter=0
	end

	if voltage==4.15 then
                playFile("SOUNDS/de/Go.wav")
	end
end

return { run=run }
irgendwann ist der Wert v ja 4.15 aber die Bedingung voltage==4.15 gibt kein true zurück.

Ich verstehe nicht wieso!

Es handelt sich hier nur um ein Beispielscript, um nicht unnötige Codezeilen hier zu posten.

Ich hoffe Ihr könnt mir helfen.

Gruß
10110010
 

walter99

Erfahrener Benutzer
#3
ich glaube da sollte ein end if stehen, ein end bedeutet ein stop des programm´s, auch kenne ich nicht den vergleich der variable mit "==" nicht, sollte es sich wirklich um bascom handeln.
mfg
 
#4
eine Angabe der verwendeten Sprache bzw. des verwendeten Compilers wäre nicht schlecht.
bei meinem C-Compiler ist
1.die Zuweisung der Variablen z.b. mit :=
2. If then führt nur eine Befehlszeile aus, d.h. voltage wird immer wieder auf 4.2 gesetzt und erreicht niemals den Wert 4.15
3. die Abfrage auf 4.15 Volt muss innerhalb der Schleife erfolgen ansonsten läuft v bis minus unendlich
....

Ralf
 

10110010

Neuer Benutzer
#9
Ich habe in meinem Original eine 2. Bedingung gehabt die fehlerhaft war.
Das Beispiel ist jetzt warum auch immer durch gelaufen.

Der Thread kann zu.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten