MQTT char array naar variabele conversie ?
13 berichten
• Pagina 2 van 2 • 1, 2
Re: MQTT char array naar variabele conversie ?
Ik denk dat je dit statement bedoeld:
//val2 = (val3 / 8,62); //val2 is maximaal 2000(watt output) 2000/8.62 = 255, max uitstuurwaarde
Hier staat een komma terwijl er een punt moet staat nu is het resultaat altijd 62.
Om de kleine waarden toch actief te maken moet de formule iets worden aangepast.
val2 = (val3 + 8) / 8.62;
resultaat 0 => 0 1 => 1 2 => 1 enz.
//val2 = (val3 / 8,62); //val2 is maximaal 2000(watt output) 2000/8.62 = 255, max uitstuurwaarde
Hier staat een komma terwijl er een punt moet staat nu is het resultaat altijd 62.
Om de kleine waarden toch actief te maken moet de formule iets worden aangepast.
val2 = (val3 + 8) / 8.62;
resultaat 0 => 0 1 => 1 2 => 1 enz.
Advertisement
Re: MQTT char array naar variabele conversie ?
die getallen zoals 8.62 eerst even als float initialiseren dan gaat de berekening beter want 2000 is een integer standaard die zou ook naar een float moeten
paul deelen
shooter@home.nl
shooter@home.nl
Re: MQTT char array naar variabele conversie ?
Een getal 8.62 is per definitie altijd een float.
Bij een berekening van een int met een float is de uitkomst intern altijd een float.
Dus val / 8.62 is intern een float, pas bij de toekenning naar een int wordt de float omgezet naar een int door de decimale eraf te halen.
Bij een berekening van een int met een float is de uitkomst intern altijd een float.
Dus val / 8.62 is intern een float, pas bij de toekenning naar een int wordt de float omgezet naar een int door de decimale eraf te halen.
13 berichten
• Pagina 2 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast