а где там такая задержка? Вы ничего не спутали, у DS18B20 время конверсии сотни миллисекунд, а не микро
uint8_t OneWire::reset(void)
{
IO_REG_TYPE mask = bitmask;
volatile IO_REG_TYPE *reg IO_REG_ASM = baseReg;
uint8_t r;
uint8_t retries = 125;
noInterrupts();
DIRECT_MODE_INPUT(reg, mask);
interrupts();
// wait until the wire is high... just in case
do {
if (--retries == 0) return 0;
delayMicroseconds(2);
} while ( !DIRECT_READ(reg, mask));
noInterrupts();
DIRECT_WRITE_LOW(reg, mask);
DIRECT_MODE_OUTPUT(reg, mask); // drive output low
interrupts();
delayMicroseconds(480);
noInterrupts();
DIRECT_MODE_INPUT(reg, mask); // allow it to float
delayMicroseconds(70);
r = !DIRECT_READ(reg, mask);
interrupts();
delayMicroseconds(410);
return r;
}
Не правильно отрабатывает reset. т.е после короткого reseta нет ответа от датчика
Почему ссылка на английском ведет на сайт с каким-то кривым гугло-переводом?
Однако ж двойные стандарты, где-то по ссылкам ходим, а где-то интегрированное видео не смотрим
Ну если на контенте заголовок для меня непривлекательный, то чего туда ходить?
1 лайк
девок гламурных нет, чего туда ходить )))
1 лайк