Ви не увійшли.
подскажите как задать значение не целое число, а например 31.4 при таком параметре значение округляется до 31.
Никак. В датчик можно записать только целое число плюс знак.
Либо можно использовать 2 регистра - TH и TL для одного значения. Однако тогда нужно будет организовывать алгоритм сравнения в МК, иначе датчик не будет отзываться на команду Alarm. Вернее будет, но некорректно.
подскажите как задать значение не целое число, а например 31.4 при таком параметре значение округляется до 31.
Никак. В датчик можно записать только целое число плюс знак.
Либо можно использовать 2 регистра - TH и TL для одного значения. Однако тогда нужно будет организовывать алгоритм сравнения в МК, иначе датчик не будет отзываться на команду Alarm. Вернее будет, но некорректно.
наверное переделать библиотеку
Если речь идет о Ардуино, то в библиотеке DallasTemperature есть пример: 'Alarm' и 'AlarmHandle' где описываются эти процедуры.
// alarm when temp is higher than 30C
sensors.setHighAlarmTemp(insideThermometer, 30);
// alarm when temp is lower than -10C
sensors.setLowAlarmTemp(insideThermometer, -10);
подскажите как задать значение не целое число, а например 31.4 при таком параметре значение округляется до 31.
Если речь идет о Ардуино, то в библиотеке DallasTemperature есть пример: 'Alarm' и 'AlarmHandle' где описываются эти процедуры.
// alarm when temp is higher than 30C
sensors.setHighAlarmTemp(insideThermometer, 30);
// alarm when temp is lower than -10C
sensors.setLowAlarmTemp(insideThermometer, -10);
http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
Figure 7. DS18B20 Memory Map
/* modify scratchpad register to set temp sampling resolution */
ds.reset();
ds.select(addr);
ds.write(0x4E); // write scratchpad (starts at byte 2)
// note: set high/low temp alarms by changing the next two values
ds.write(0x4B); // default value of TH reg (user byte 1)
ds.write(0x46); // default value of TL reg (user byte 2)
// uncomment one of the following
//ds.write(0x7F); // 12-bit sampling resolution (default)
//ds.write(0x5F); // 11-bit
//ds.write(0x3F); // 10-bit
ds.write(0x1F); // 9-bit
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.
источник
http://www.netfluvia.org/code/ds18B20_test.pde
работает, иль нет - неведомо
Добрый день.
Подскажите, пожалуйста, как записать значение пределов температуры TH и TL в датчик ds18b20.