Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

DS18B20

Отправлено TechMike 27 октября 2007 г. 01:59
В ответ на: DS1820 выдает неверные показания температуры!!!!!! Помогите разобраться!!! отправлено <font color=gray>mapic</font> 11 декабря 2006 г. 11:44

С DS18b20 читается кривая температура.
Делаю так на VB6:
MyHandle = TMExtendedStartSession(1, 1, vbNullString)
dmmy = TMTouchReset(MyHandle)
dmmy = TMTouchByte(MyHandle, &H44)
Pause (1)
'Read the scratch of a DS18/1920.
If TMAccess(MyHandle, state_buffer(0)) <> 1 Then GoTo point1
dmmy = TMTouchByte(MyHandle, &HBE)
For I = 0 To 8
dmmy = TMTouchByte(MyHandle, &HFF)
If dmmy < 0 Then
GoTo point1
Else
TEMP_buffer(I) = dmmy
End If
Next I
' calculate the temperature */
tsht = TEMP_buffer(0)
TMP = (tsht / 2)
cr = TEMP_buffer(6)
cpc = TEMP_buffer(7)
If (TEMP_buffer(7) = 0) Then
GoTo point1
Else
TMP = TMP - 0.25 + (cpc - cr) / cpc
End If

В результате в первом бите почти всегда 120, а во втором 1,
температура получается 59С. Хотя на самом деле, с помощью
программы Temp. Keeper температура реальная
меряется, где я ошибаюсь?

P.S. Даташит читал, вдоль и поперек.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru