Ich wollte Dich etwas arbeiten machen.

die DS3234-Bibiothek
https://github.com/rodan/ds3234 macht das so:
/ temperature register
float DS3234_get_treg(uint8_t pin)
{
float rv;
uint8_t temp_msb, temp_lsb;
int8_t nint;
digitalWrite(pin, LOW);
SPI.transfer(0x11); // temperature register MSB address
temp_msb = SPI.transfer(0x00);
digitalWrite(pin, HIGH);
digitalWrite(pin, LOW);
SPI.transfer(0x12); // temperature register MSB address
temp_lsb = SPI.transfer(0x00) >> 6;
digitalWrite(pin, HIGH);
if ((temp_msb & B10000000) != 0)
nint = temp_msb | ~((1 << 8) - 1); // if negative get two's complement
else
nint = temp_msb;
rv = 0.25 * temp_lsb + nint;
return rv;
}
Du kannst aber auch die Funktion der Bibiothek verwenden.
Das Datenblatt sagt:
Temperature Registers (11h–12h)
Temperature is represented as a 10-bit code with a resolution
of 0.25°C and is accessible at location 11h and
12h. The temperature is encoded in two’s complement
format, with bit 7 in the MSB representing the SIGN bit.
The upper 8 bits, the integer portion, are at location 11h
and the lower 2 bits, the fractional portion, are in the
upper nibble at location 12h. Example: 00011001 01b =
+25.25°C. Upon power reset, the registers are set to a
default temperature of 0°C and the controller starts a
temperature conversion.
The temperature is read on initial application of VCC
and once every 64 seconds afterwards. The temperature
registers are updated after each user-initiated conversion
and on every 64-second conversion. The
temperature registers are read-only.
Grüße Uwe