Compatible with:
DOS Maximite CMM MM150 MM170 MM+ MMX Picromite ArmiteL4
Armite F4 ArmiteH7 Picomite CMM2
Syntax:
TEMPR( pin )
TEMPR START pin [, precision]
Description:
TEMPR( pin )
Return the temperature measured by a DS18B20 temperature sensor connected to
'pin' (which does not have to be configured).
The CPU speed must be 20 MHz or above. The returned value is degrees C with a
default resolution of 0.25ºC.
If there is an error during the measurement the returned value will be 1000. The
time required for the overall measurement is 200ms and interrupts will be
ignored during this period.
Alternatively the TEMPR START command can be used to start the measurement
and your program can do other things while the conversion is progressing.
When this function is called the value will then be returned instantly assuming
the conversion period has expired.
If it has not, this function will wait out the remainder of the conversion time
before returning the value. The DS18B20 can be powered separately by a 3V to 5V
supply or it can operate on parasitic power from the Maximite.
See the manual chapter "Special Hardware Devices" for more details.
TEMPR START pin [, precision]
This command can be used to start a conversion running on a DS18B20
temperature sensor connected to 'pin'.
Normally the TEMPR() function alone is sufficient to make a temperature
measurement so usage of this command is optional.
This command will start the measurement on the temperature sensor.
The program can then attend to other duties while the measurement is running and
later use the TEMPR() function to get the reading.
If the TEMPR() function is used before the conversion time has completed the
function will wait for the remaining conversion time before returning the
value.
Any number of these conversions (on different pins) can be started and be
running simultaneously.
'precision' is the resolution of the measurement and is optional. It is a
number between 0 and 3 meaning:
0 = 0.5ºC resolution, 100 ms conversion time.
1 = 0.25ºC resolution, 200 ms conversion time (this is the default).
2 = 0.125ºC resolution, 400 ms conversion time.
3 = 0.0625ºC resolution, 800 ms conversion time.
MMBasic assumes a parasitic power connection and waits the pre-determined time, rather than interrogating the sensor to see if it has finished the conversion.
If you need to read sensors other than the DS18B20 or multiple sensors on the one pin, see the onewire command.
TEMPR START 42, 2 ' 0.125ºC
resolution, 400 ms conversion time.
'< do other tasks >
PAUSE 400
PRINT "Temperature: " TEMPR(42)
Last edited: 29 September, 2020