Temperaturanzeige mit TTY: Unterschied zwischen den Versionen
(Temperaturanzeige auch für negative Temperaturen) |
K (Fix Zeilenumbruch) |
||
| Zeile 30: | Zeile 30: | ||
* Die ''Onewire-ID'' sollte natürlich angepasst werden. Vorher im Zweifel mit '''1w list''' abfragen, welche angeschlossen sind. | * Die ''Onewire-ID'' sollte natürlich angepasst werden. Vorher im Zweifel mit '''1w list''' abfragen, welche angeschlossen sind. | ||
* Die lokale Variable '''Temperatur''' dient zum Zwischenspeichern des Ergebnisses von ONEWIRE_GET, da der Sensor ansonsten zweimal abgefragt werden müsste. Nachdem kein WAIT oder ähnliches dazwischen ist, sollte diese auch kein Problem darstellen. | * Die lokale Variable '''Temperatur''' dient zum Zwischenspeichern des Ergebnisses von ONEWIRE_GET, da der Sensor ansonsten zweimal abgefragt werden müsste. Nachdem kein WAIT oder ähnliches dazwischen ist, sollte diese auch kein Problem darstellen. | ||
| − | * mit ''itoa_fixedpoint'' wird die Temperatur (Festkommazahl mit einer Nachkommastelle) in einen String umgewandelt. Inklusive ''-'' bei negativen | + | * mit ''itoa_fixedpoint'' wird die Temperatur (Festkommazahl mit einer Nachkommastelle) in einen String umgewandelt. Inklusive ''-'' bei negativen Temperaturen |
| − | Temperaturen | ||
[[Category:Control6 Examples]] | [[Category:Control6 Examples]] | ||
Aktuelle Version vom 13. Juli 2010, 10:01 Uhr
CONTROL_START
THREAD(temploop)
int16_t Temperatur = ONEWIRE_GET(ONEWIRE-ID);
dnl max. Länge des erzeugten Strings: 5 (123.4 bzw. -12.3)
char temp_str[5];
itoa_fixedpoint(Temperatur, 1, temp_str);
TTY_SELECT(temp)
TTY_HOME()
TTY_WRITE(`"%5sC"', temp_str)
WAIT(2)
THREAD_END(temploop)
ON STARTUP DO
dnl Initialize display and write out greeting
TTY_CLEAR()
TTY_HOME()
TTY_CREATE_WINDOW(temp, 1, 6, 0, COLS-6)
THREAD_START(temploop)
END
CONTROL_END
- Die Onewire-ID sollte natürlich angepasst werden. Vorher im Zweifel mit 1w list abfragen, welche angeschlossen sind.
- Die lokale Variable Temperatur dient zum Zwischenspeichern des Ergebnisses von ONEWIRE_GET, da der Sensor ansonsten zweimal abgefragt werden müsste. Nachdem kein WAIT oder ähnliches dazwischen ist, sollte diese auch kein Problem darstellen.
- mit itoa_fixedpoint wird die Temperatur (Festkommazahl mit einer Nachkommastelle) in einen String umgewandelt. Inklusive - bei negativen Temperaturen