Символ Т там для примера, это во-первых. Второе, общение идёт с МК, к которому подключены датчики. Напрямую работать с датчиком, подключённым к сом-порту, посылая ему команды, не получится. Нужно эмулировать все необходимые сигналы протокола 1-Wire. В инете мне попадались исходники той программы DS18B20.exe. Вот напишите сначала на Си программу, чтобы начала работать, а после этого уже вы поймёте, что так просто команды не подаются.
В сишных библиотеках для МК уже всё реализовано внутри, правда, пользоваться не рекомендуют
Обмен, который производится по 1-проводной шине, требует довольно точного соблюдения временных соотношений микросекундного диапазона. Работая под Windows, точно сформировать такие интервалы программным способом невозможно. Поэтому необходимые временные интервалы формируются аппаратно микросхемой приемопередатчика последовательного порта, который используется не совсем обычно.
Для генерации импульса сброса и приема ответа порт настраивается на скорость 9600 бод, длина символа 8 бит, и передается число F0h. Это приводит к формированию импульса сброса низкого уровня (с учетом инверсии адаптера) длительностью примерно 520 мкс (стартовый бит + 4 передаваемых бита). За ним следует импульс высокого уровня такой же длительности (4 передаваемых бита + стоповый бит), в течение которого ожидается ответ термометра. Если термометр не подключен, то порт примет число F0h без искажений. Но если термометр сформировал импульс ответа, то принятое число будет содержать большее количество единиц, чем четыре. Таким образом определяется наличие ответа.
Для генерации интервалов приема и передачи битов, порт настраивается на скорость 115200 бод. Стартовый бит начинает временной интервал, затем идут 8 единичных или нулевых битов, в зависимости от значения бита, который нужно передать. Заканчивается последовательность стоповым битом, который на некоторое время устанавливает на 1-проводной шине высокий уровень. Вид этой последовательности полностью соответствует требуемому виду временного интервала передачи бита, за исключением того, что обмен является более медленным, чем способна обеспечить 1-проводная шина: на один бит затрачивается примерно 87 мкс.
Прием со стороны передатчика последовательного порта ничем не отличается от передачи единичного бита. Проанализировав принятый последовательным портом символ можно установить, какой бит передал термометр. В случае нулевого бита один или несколько битов принятого портом байта будут единичными (с учетом инверсии адаптера).
Я просмотрел исходники на дельфях - там примерно такой алгоритм и реализован. На LV тоже можно это реализовать, но это уже другая история, так как для проверки надо будет собирать переходник
LabView:вопросы и ответы
-
Илья Прохоров
- Родился
- Сообщения: 2
- Зарегистрирован: Ср ноя 27, 2013 21:26:53
Re: LabView:вопросы и ответы
Здравствуйте, если тема еще жива, то нужна помощь в освоении Labview
Re: LabView:вопросы и ответы
с программой LabView ознакомился недавно, не материте шибко за глупые вопросы)). не знаю как привязать кнопки.