|
Вопрос по датчику, DS18B20 |
|
|
|
 |
Ответов
|
Jul 19 2007, 08:07
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 12-01-07
Из: Энергодар Украина
Пользователь №: 24 374

|
Цитата(Anjey_N @ Jul 17 2007, 10:48)  Ещё вопрос. Для того чтобы записать конфигурационный байт нужно подать последовательно такие команды: - reset; - skip rom 0xCC; - write scratchpad 0x4E; - записать TH; - записать TL; - конфигурация.
Так ли это? А с завода датчики выпускаются с 12-резолюцией? Ещё один вопрос в догонку, скорее по написанию программы. В файле драйвера DS18B20 (пусть это будет DS18B20.c) я ввожу новую переменную. Например, flag_znak=0 если температура положительная и flag_znak=1 если температура отрицательная. А опрашивать эту переменную буду в другом файле (допустим main.c). Вопрос: как определить переменную (char? int? extern?) и в каком файле?
|
|
|
|
|
Jul 19 2007, 08:16
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704

|
Цитата(Anjey_N @ Jul 19 2007, 11:07)  Ещё один вопрос в догонку, скорее по написанию программы. В файле драйвера DS18B20 (пусть это будет DS18B20.c) я ввожу новую переменную. Например, flag_znak=0 если температура положительная и flag_znak=1 если температура отрицательная. А опрашивать эту переменную буду в другом файле (допустим main.c). Вопрос: как определить переменную (char? int? extern?) и в каком файле? 1) В файле DS18B20.c определяете переменную: Код unsigned char flag_znak; 2) В файле DS18B20.h наряду с прототипами функций работы с термометром должна присутствовать строчка: Код extern unsigned char flag_znak; 3) В файле main.c должна присутствовать строчка: Код #include "DS18B20.h"
|
|
|
|
|
Jul 19 2007, 10:52
|

Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342

|
Цитата(ALexx @ Jul 19 2007, 11:16)  3) В файле main.c должна присутствовать строчка: Код #include "DS18B20.h" Маленькое дополнение: очень желательно, чтобы строчка Код #include "DS18B20.h" присутствовала также и в самом "DS18B20.с", для того чтобы компилятор имел возможность во время компиляции проверить соответствие типов объявленной и реализованной переменных. Иначе, если вы, например, внутри "DS18B20.с" поменяете тип этой переменной с unsigned на signed, но не отразите это в "DS18B20.h", то основная программа (в "main.c") будет по прежнему считать ее unsigned, что чревато крайне трудноуловимыми глюками.
--------------------
Gray©at
|
|
|
|
|
Jul 21 2007, 06:30
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Cпасибо,CV тоже проверяет при линковке и выдает -ошибка линкера несоответсвие типов. Тогда здесь речь об чем? Цитата(GrayCat @ Jul 19 2007, 14:52)  Маленькое дополнение: очень желательно, чтобы строчка Код #include "DS18B20.h" присутствовала также и в самом "DS18B20.с", для того чтобы компилятор имел возможность во время компиляции проверить соответствие типов объявленной и реализованной переменных. Иначе, если вы, например, внутри "DS18B20.с" поменяете тип этой переменной с unsigned на signed, но не отразите это в "DS18B20.h", то основная программа (в "main.c") будет по прежнему считать ее unsigned, что чревато крайне трудноуловимыми глюками.
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
Сообщений в этой теме
Anjey_N Вопрос по датчику Jul 17 2007, 07:48 =GM= Цитата(Anjey_N @ Jul 17 2007, 06:48) Для ... Jul 17 2007, 13:22   Anjey_N Цитата(GrayCat @ Jul 19 2007, 13:52) Мале... Jul 19 2007, 18:19   ALexx Цитата(GrayCat @ Jul 19 2007, 13:52) Мале... Jul 20 2007, 07:33    GrayCat Цитата(WHALE @ Jul 21 2007, 09:30) Тогда ... Jul 30 2007, 07:05 M@T_F@Q А можно сюда выложить программку, а то я 3 ночь с ... Jul 19 2007, 19:18 Anjey_N Цитата(M@T_F@Q @ Jul 19 2007, 22:18) А мо... Jul 20 2007, 07:25  M@T_F@Q Цитата(Anjey_N @ Jul 20 2007, 12:25) Можн... Jul 20 2007, 21:03   Anjey_N Цитата(M@T_F@Q @ Jul 21 2007, 00:03) ООоо... Jul 25 2007, 15:37 Tcom Вот здесь пример смотри разбирайся
http://electron... Jul 20 2007, 05:30 WHALE а при линковке соответствие типов не проверяется? Jul 20 2007, 08:36 Igor26 Цитата(WHALE @ Jul 20 2007, 12:36) а при ... Jul 20 2007, 09:26 Сергей Борщ Цитата(WHALE @ Jul 20 2007, 11:36) а при ... Jul 20 2007, 21:17 WHALE Хорошо.Компилятор должен проверять соответствие ти... Jul 20 2007, 09:31 WHALE а вот и нет-signed и unsigned отлавливаются также ... Jul 30 2007, 07:50 GrayCat Цитата(WHALE @ Jul 30 2007, 10:50) а вот ... Aug 1 2007, 06:49 GDI Цитатапрописывать объявление переменных в .h-файле... Aug 1 2007, 08:16 GrayCat Цитата(GDI @ Aug 1 2007, 11:16) iar ругае... Aug 1 2007, 17:01 WHALE СV аналогично.А в чем смысл двойного обьявляния и ... Aug 1 2007, 08:30 Igor26 Цитата(WHALE @ Aug 1 2007, 12:30) СV анал... Aug 1 2007, 08:57 namelos Цитата(GrayCat @ Aug 1 2007, 10:49) Так ч... Aug 2 2007, 06:29 Igor26 Цитата(namelos @ Aug 2 2007, 10:29) добро... Aug 2 2007, 06:33 namelos Доброе время суток всем. Посадил датчик на 50м каб... Aug 24 2007, 08:35 GDI Что значит для нормальной работы? Ставьте такие за... Aug 24 2007, 09:38 namelos 2 GDI. Поменял pullup соппротивление на 2.2к, но с... Aug 24 2007, 09:44 GDI А на близком расстянии работает? Питание у датчико... Aug 24 2007, 09:58 namelos Питание на 3 провода. Эх, осциллографа нет. Поэтом... Aug 24 2007, 10:07 Miron Цитата(namelos @ Aug 24 2007, 14:07) Пита... Aug 27 2007, 08:30 GDI На 10м с подтяжкой 1к у меня работали самые быстры... Aug 24 2007, 10:55 namelos Поставил pullup на 1к, заработало со стандартными ... Aug 24 2007, 11:51 AndreyKeil Цитата(namelos @ Aug 24 2007, 17:51) Пост... Aug 27 2007, 12:39 namelos Доброе время суток. Извините за глупый вопрос, а к... Aug 27 2007, 06:54 namelos Доброе время суток, господа эмбеддеры. Спасибо все... Aug 28 2007, 07:55 Maik-vs Цитата(namelos @ Aug 28 2007, 11:55) в ко... Aug 28 2007, 08:36  Сергей Борщ Цитата(Maik-vs @ Aug 28 2007, 11:36)... Aug 28 2007, 11:33 GDI У меня при работе с подтяжкой 1к наблюдался самора... Aug 28 2007, 13:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|