
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > > > wie kann ich wenn ich z.b. mit einem ptc eine temperatur messe auch kommazahlen anzeigen?? > > > > > > Du zĂ€hlst weiterhin ganzzahlig, rechnest aber mit Zehntelgrad als Einheit. Statt z. B den Wert 21,5 (Grad Celsius) hat Deine Variable den Wert 215 (Zehntelgrad Celsius). Bei der Ausgabe kommt vor der Einerstelle dann ein Komma. > > > uhmm wie mach ich das denn genau..... und wie kann ich minus zahlen anzeigen.... > > Nehmen wir an, Dein PTC liefere am AD-Port Werte von 0 bis 255 die Temperaturen von -12,8(0) bis +12,7 (255) Grad Celsius bei einer Genauigkeit von 0,1°C entsprĂ€chen. Also 0 entsprĂ€che -12,8°, 1 -12,7, usw. > > Dann kopierst Du das Byte in ein (vorzeichenbehaftetes) Word und ziehst 128 ab. 0 wird also zu -128, 1 zu -127, usw. 128 zu 0, 129 zu 1, usw. bis 255 zu 127. Du hast jetzt also die Temperatur in 0,1° in der Variablen inklusive Vorzeichen. > > Jetzt mĂŒssen wir die Zahl nur noch kommabereinigt ausgeben. > > print temperatur/10;",";abs(temperatur) mod 10 > > HTH > > Bye > Achim Zum selben Ergebnis wie Achim ( Umkopieren in eine Variable vom Typ WORD) fĂŒhrt auch eine etwas andere Ăberlegung : Ein einzelner Messwert ist mit einem Fehler behaftet.Das kommt u.a. von den Quantisierungsstufen der AD-Wandler. Der arithm. Mittelwert aus n Messwerten ist nur noch mit 1/n des Fehlers behaftet. Wenn's also genauerer sein soll , addiert man zunĂ€chst mal 4 oder 8 oder 16 Messwerte (Max 128) BYTE-Werte vom Wandler in einer WORD-Variablen auf. Danach dividiert man durch die Anzahl Messwerte -vorteilhaft unter Anwendung der Funktion "shl". Alles Andere dann so , wie Achim es schon beschrieben hat. Bei diesem Verfahren gewinnt man zusĂ€tzliche Stellen mit geringen Fehlern. Je nach der gestellten Messaufgabe (!) entfĂ€llt dadurch sogar der Zwang , einen Wandler höherer Auflösung zu betreiben. GruĂ..................................Heino |
| Antwort schreiben |