Контроль за превышением температуры DS18b20

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 152
Зарегистрирован: Чт апр 09, 2009 00:25:26

Сообщение Twen »

Здравствуйте, хотел бы уточнить после того как я делаю инициализацию и подаю команду (ROM) :

w1_init();
w1_write(DS18B20_ALARM_SEARCH_CMD);
temp_second=ds18b20_temperature(&rom_code[1][0]);
if(temp_second==0xFF)
{
}
else {
sprintf(lcd_buffer,"Превышение темпер. %u ",temp_second);

дальше я должен подать функциональную команду, и на нее должен ответить только датчик с установленым флагом превышения.

Но температура читается всеровно (датчик отвечает) даже если и нет превышения темпер.
Что я не так делаю?
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18786
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

вы путаете что-то.
после команды ALARM_SEARCH вы должны выполнить функцию поиска датчиков - и тогда "найдутся" только те, у которых есть "превышение" температуры.
команда чтения температуры работает всегда однотипно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»