а чтение по англицки пишется совсем по другому.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
мда... такой комментарий показателен. другие тоже не особо. Их интеллектуальность соответствует и коду. В топку.//я нихуя не вкурил как она считается, мне было лень разбираться, поэтому я взял эту функцию в инете )))
Код: Выделить всё
void ds18b20Exe() {
static uint16_t state;
static uint16_t timer;
static uint16_t temp;
if (timer)
--timer;
else
switch (state) {
case 0:
if (!dsReset())
break;
next(state);
dsByte(SKIP_ROM);
next(state);
dsByte(READ_SCRATCHPAD);
next(state);
temp = dsByte(0xff);
next(state);
temp |= dsByte(0xff)<<8;
temperature = ds2cels(temp);
next(state);
if (!dsReset()) {
state = 0;
break;
}
next(state);
dsByte(SKIP_ROM);
next(state);
dsByte(CONVERT_T);
timer = ms2sys(CONVERTION_TIME);
state = 0;
break;
}
}