kapa77
Зарегистрирован: 07.06.2008 Сообщения: 1
|
Добавлено: Сб Июн 07 2008 22:21 Заголовок сообщения: Чтение данных с датчика температуры через Com-порт |
|
|
Здравствуйте!
Есть небольшое самодельное устройство с датчиком температуры DS1621. Этот девайс подключается к COM-порту.
Вот здесь рассказано, как этот девайс собирается (http://www.riccibitti.com/pc_therm.htm) и есть программа с исходниками на VB6, а нужно на C#
В спецификации к датчику (http://www.platan.ru/pdf/datasheets/ds/DS1621.pdf) есть команды, вроде такой
INSTRUCTION | PROTOCOL
Read Temperature | AAh
Подскажите пожалуйста, как отправлять команды и в каком виде и как получать данные? Знаю, что нужно использовать SerialPort, но так и не удалось получить хоть что-то. |
|
goodmansem
Зарегистрирован: 15.08.2006 Сообщения: 9 Откуда: Томск
|
Добавлено: Пн Июн 09 2008 06:35 Заголовок сообщения: Re: Чтение данных с датчика температуры через Com-порт |
|
|
Перед началом работы надо сконфигурировать устройство. Для этого надо записать в регистры TH, TL начальные установки, чтобы устр-во знало, как проводить измерения (команда АСh). Так же необходимо установить ВЕРХНИЙ и НИЖНИЙ диапазон измерений. Для этого есть команды А1h и А2h. Конфигурация настроек флагов расписана в разделе OPERATING CONTROL.
Запрос/Ответ производится следующим образом
Для начала формируешь буфер.
Первый байт - контрольный, в нем указывается:
биты:
7 - R/W
6,5,4 - ADDR
3,2,1,0 - "1001"
бит 7 - "0" это ЗАПИСЬ (W), "1" - ЧТЕНИЕ (R) данных
ADR - адрес устройства
1001 - управляющие биты.
Второй байт - команда (напр. ААh)
Следующие байты (если надо) это непосредственно данные (1 или 2 байта максимум в зависимости от команды).
Формируешь буфер, отправляешь в СОМ-порт. От уср-ва приходит ответ: первый байт - тот же адрес, куда делали запрос, остальные байты - данные.
Вроде так....удачи! |
|