Электроника в быту | Датчик температуры DS1821+ |
|
---|---|---|
Считывание значения с 8-битного регистра температуры происходит нормально. При попытке получить более точное значение происходит следующее: считывание с 9-битного регистра (команда A0h) приосходит нормально, затем после команды 41h (загрузка аккумуляттора в счетчик) 8-битный регистр замораживается на значении 125, хотя значение статусного регистра не меняется. Испытал несколько экземпляров - результат один. В чем ошибка, подскажите? |
|
|
Пример прилагается - рабочий кусок программы - работа с датчиком температуры |
|
|
Попробовал выдерживать паузу до завершения температурной конверсии (можно путем опроса первого бита в статусном регистре), прежде чем подавать дальнейшие команды - все нормально заработало: разрешающая способность в среднем 150 единиц на градус в диапазоне 25-33 градуса. |
|
|
Мне кажется не стоит частить с опросом датчика, во время преобразования он греется Аднако . Если приложение не требует быстроты, следует снизить частоту опроса, для увеличения точности измерения. При частом опросе датчика ответ на первый запрос и последующие не совпадает, первый обычно меньше (достовернее). |
|
|
паузу выдерживать обязательно. лучше nop |
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |