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