weiß jemand, warum ich in C/C++ mit dem Befehl time(NULL) einen falschen Wert bekomme?
ca. 14:07 Unix-timestamp:
in C: 2130385884 sec
php: liefert 1458911223 sec
uint8_t stamp[4] ; * stamp = time(NULL);
Ohne C zu können: time() liefert einen Wert vom Typ time_t, kein uint8_t (was hardwareseitig identisch sein mag), vor allem aber keinen Zeiger auf uint8_t (oder time_t) – entferne erstmal das Sternchen vor stamp.
Ich möchte gerne den Timestamp zu einem Sensormodul (nRF24L01+) senden, zwengs Messwertzuordnungen.
Bei aller Liebe: Was meinst du denn bitte mit "zwengs"? Doch nicht etwa "zwecks", vom Zweck?
1-Wire Tempsensor DS18B20.
Vielleich weiß das auch Jemand?
Laut Datenblatt :
BYTE 0 TEMPERATURE LSB (50h)
BYTE 1 TEMPERATURE MSB (50h) (85°C)
Byte 1 Byte 0
S S S S S B6 B5 B4 - B3 B2 B1 B0 -1 -2 -3 -4
Ich bekomme MSB 136 LSB 45 (Byte1,0) Zimmertemp: ca. 20,9°C
1000 1000 - 0010 1101
Dieser Wert kann nicht vom Sensor stammen. Die S-Bits zeigen das Vorzeichen an und sind entweder alle 1 oder alle 0, nicht, wie bei dir, ein paar 1 und ein paar 0.