roboforum.ruТехнический форум по робототехнике. |
|
|
TIMSK=0x00;
temp = ds18b20_temperature(0);
TIMSK=0x10;
if ((PIND & 1<<0) == 0 && ds18b20_init(0,-55,125,DS18B20_12BIT_RES))
{
TIMSK=0x00;
temp = ds18b20_temperature(0);
TIMSK=0x10;
milliseconds = milliseconds + 90;
lcd_clear();
while (!(PIND & 1<<0))
{
sprintf(lcd_buffer,"%+.1fxdfC",temp);
lcd_gotoxy(2,0);
lcd_putsf(tmp);
lcd_gotoxy(4,1);
lcd_puts(lcd_buffer);
};
lcd_clear();
};
void wait(void)
{char x;
w1_init(); // инициализация 1821
w1_write(0xEE); // WRITE COMMAND START CONVERT EEh(для 1820 44h вроде такая команда)
// а вот ждать тут не обязательно окончания преобразования, можно периодически опрашивать, выставив флажок что производится замер температуры.
do
{
w1_init(); // инициализация
w1_write(0xAC); // WRITE COMMAND READ STATUS ACh
x=w1_read();
}
while(!(0b10000000&x)); // READ STATUS
}
ПРЕОБРАЗОВАНИЕ T [44h]
Эта команда вводит единственное температурное преобразование. Следуя За преобразованием, результирующие термические данные загружается в 2-байтовом температурном регистре в сверхоперативной памяти и возврат DS18S20 своему низкому-силовому состоянию ожидания. Если устройство используется в паразитном силовом режиме, в пределах 10 мs (max) после того, как эта команда выпущена мастера должно приспособить прочный pullup в 1-проводной шине в течение преобразования (tconv) как указано в POWERING секция DS18S20. Если DS18S20 усиливается внешней поставкой, мастер может выпустить слоты читающего времени после того, как Преобразование команды T и DS18S20 ответит передавая 0 тогда как температурное преобразование осуществится и 1 когда преобразование сделать. В паразитном силовом режиме, эта техника уведомления не может использоваться с тех пор как шина потянута высокий прочным pullup в течение преобразования.
плюс батареейка на несколько лет
Вернуться в Новичкам или основы основ роботостроения.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12