Hej, enligt databladet:
Higher resolutions may be obtained by the following procedure.
First, read the temperature,COUNT_REMAIN, and COUNT_PER_C registers from the scratchpad.
Truncate the 0.5°C bit (the LSB) from the temperature value.
This value is TEMP_READ.
The actual temperature may then be calculated by using the following:
TEMPERATUR=Temp_read - 0,25 + (Count_per_C - Count_Remain / Count_per_C)
Alltså, på ren svenska så skulle jag läsa av tempen + dom andra två.
"Truncate the 0.5°C bit (the LSB) from the temperature value."Betyder att jag ska "skära bort" den biten.
"This value is TEMP_READ." Vilket värde?? Den jag "skar bort" eller det som är kvar?
om jag får "00100101" i tempvärde så ska jag ta bort sista biten?
Ska jag göra om värdet igen till vadå innan jag räknar?
Kan nån hjälpa mig?
Tyvärr ligger elfas sida nere men sök på DS18s20 när den e uppe så ser ni databladet. (Sid 5 av 27, Temperature/Data Relationships Table 2)
DS18s20, högre upplösnings-algoritm.
Min gissning är :
Den "temp" man får vid en normal avläsning är avrundad till 0.5C.
Testen i databladet beskriver hur man kan ersätta denna avrundade 0.5C med en beräkning utifrån de oavrundade värdena.
> "This value is TEMP_READ." Vilket värde?? Den jag "skar bort" eller det som är kvar?
Tempen i hela grader, decimalerna skall ersättas med resultatet av beräkningen.
"00100101" blir alltså "00010010".
Sen är det väl "bara" att köra med formeln...
Den "temp" man får vid en normal avläsning är avrundad till 0.5C.
Testen i databladet beskriver hur man kan ersätta denna avrundade 0.5C med en beräkning utifrån de oavrundade värdena.
> "This value is TEMP_READ." Vilket värde?? Den jag "skar bort" eller det som är kvar?
Tempen i hela grader, decimalerna skall ersättas med resultatet av beräkningen.
"00100101" blir alltså "00010010".
Sen är det väl "bara" att köra med formeln...
