|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.02.2017, 03:47 | #51 |
Пользователь
Регистрация: 10.02.2017
Сообщений: 31
|
о времени да, но думала, что и так можно использовать, Вы проанализировали больше информации, чем я, спасибо огромное я тут больше искала код на VBA, по разбираюсь с "эмулированием протокола" но уже завтра
|
11.02.2017, 03:54 | #52 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Для начала почитай здесь (это FPaul прислал):
http://we.easyelectronics.ru/electro...-s-kompom.html Потом поищи в интернете. Разберись (тебя же чему то учили: помыкалась-помыкалась вспомни и разберись). Хотя бы не код, а реализацию: как, что осуществляется на физическом уровне ("эмулирования"); куда что посылает и кто что принимает; зачем 3 выхода+1 вход задействован в схеме... Этот вопрос принципиален. Последний раз редактировалось ura_111; 11.02.2017 в 03:57. |
12.02.2017, 01:22 | #53 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
1) Твою тему переносят в другой раздел форума:
0.jpg И соответственно, её надо будет искать в нём. 2) Необходимо обменяться знаниями по задаче ("сверить часы")... Что я знаю (ну в реальности не знаю, а просто предполагаю): а) (напомню, я говорю пока что только о инициализации датчика, а остальные моменты (РОМ команды, проверка на ошибки сигнала CRC, изменения точности измерения датчика) вообще не рассматриваю). Итак, сопоставив 2-е, нам уже знакомые, схемы я выявил закономерности. 1.jpg Описание второй схемы: "С RX мы будем принимать данные, которые сами передаем + изменения, вносимые слейвом. TX подключен так, чтобы не было конфликтов уровней на линии (когда TX в лог единице, а слейв тянет линию вниз)" (p.s.: я так понял, последняя фраза относится к ответу датчика) . Или в контексте нашей схемы: - включаем DTR 1 'это питание - подаём байт данных на передатчик "TxD" (заметь, не просто байт а байт специальной формы!). - принимаем, только что отправленный байт, на приёмник "RxD". - надо сопоставить отправленный и принятый байт: если они одинаковые, то это значит, что нет ни каких термо-датчиков на линии, а если разные - значит термо-датчик есть (и он откликнулся). Но почему пришедший, изменённый байт будет сигнализировать о наличие связи компьютера с термо-датчиком? Сначала нужно начать с формы самого байта. В интернет-статье предлагают передавать: байт 0xF0 c бодрейтом 9600 бит/с. 0xF0, в двоичной форме записи 11110000. Обрати внимание, что первые 4-бита логические нули передаваемые от передатчика (т.е. положительно напряжение), а вторые 4-ри бита логические единицы. Следующий вопрос: сколько времени будет передаваться (а вернее сказать, будет воздействовать на вход термо-датчика) такой сигнал? Ну при скорости передаче 9600 бит/с –> 8/9600= 833 мкс, из которых 416 мкс – будет “+”, а другие 416 мкс – будет “0B”. 10.jpg И тут происходит, с точки зрения входа термо-датчика, магия. Магию я нарисовал (прочитай надписи-пояснения на рисунке): 11.jpg Вопрос: для запроса компьютера (см. рисунок чуть выше) нужно ещё 66мкс провала, где им взяться? В принципе, мы могли отправить не такой сигнал (11110000), а такой: 11000000… Но в интернет статье показан какой-то “StartBit”, который занимает по времени 104мкс (что и дополняет интервал до значений 480-960 мкс). На рисунке “StartBit” показан; также на рисунке, оранжевым светом, отображён ответ датчика (это когда датчик, выждав 480мкс, сам “зануляет” последние несколько бит): 4.jpg Не до конца понимаю: каким же образом термо-датчик отзывается? (“зануляет сигнал”). Просто объединяет свои 1-2 контакты?... Вот в этой схеме мне понятно: 5.jpg а для нашей схемы – не совсем понимаю. p.s.1: По фотографии сравнения схем. Напряжение единицы для DTR "+12В", а на второй фотографии написано, что напряжение питания "+5В" (да ещё сопротивление присутствует) - хотя термо-датчик один и тот же. Меня эти смущает. p.s.2: я не до конца уверен, что подав биты "0" (или напряжение от +5В до +15В) на хвост стабилитронов 1N5819 от передатчика TX (смотри схему) можно их открыть, - тем самым зашунтировав вход термо-датчика (симулировать запрос 480 мкс). p.s.3: также в этом месте, я не понимаю: на что будет замыкаться сигнал DTR (в случае открытия 2-х стабилитронов)? На RxD (приёмник)? Приёмник – это земля? Дело вот в чём: посмотри на последнюю фотографию – там питание замыкалось на землю. p.s.4: ни чего не знаю как организовываются биты старта и останова. И вообще, что это такое? Ну старта вроде мужик рассказал: 12.jpg А вот по завершающему биту вопрос остался (сопоставь картинку эту и через одну выше). p.s.5: Я не знаю, как послать и принять байт. Я думаю, что именно с этой задачи и надо начать экспериментировать с COM портом: отправить передатчиком байт и его же принять на приёмник (RxD). Вот интернете нашёл (правда для другой библиотеки) пример: 6.jpg p.s.6: Перечитай пост, для лучшего восприятия, 3 раза. ___________________________________ ____________________________ Т.е. пока я слоняюсь к мысли, что для процесса инициализации датчика (конечно же, с поправкой на нашу схему) необходимо: - включаем DTR 1 'это питание - подаём байт данных на передатчик "TxD" (не просто байт, а байт специальной формы!). - принимаем, только что отправленный байт, на приёмник "RxD". - надо сопоставить отправленный и принятый байт: если они одинаковые, то это значит, что нет ни каких термо-датчиков на линии, а если разные - значит термо-датчик есть (и он откликнулся). ___________________________________ ______________________________ Что там у тебя и пиши что думаешь. Последний раз редактировалось ura_111; 12.02.2017 в 22:43. |
14.02.2017, 01:20 | #54 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Ещё пару моментов забыл сообщить.
p.s.7: Где то мелькало, что нужно посылать целое число - текстовый символ - значение (от 0-255). Тогда калькулятор показал: 10.jpg p.s.8: И ещё. Меня посещала мысль по поводу ошибок при передаче на линии. Чем тогда отличить ответ датчика от простой помехи? Или не чем? Если ли какой-нибудь контроль со стороны компьютера (на железном уровне) за ошибками передачи? Исправления? Или как запрограммируешь так и будет? p.s.9: Вот о чём я говорил: 12.jpg А посмотри сколько подаётся в схеме из интернет-статьи (там, где аналогии искал в 2-х схемах)... Я это к тому, что правильно ли я понимаю схемные решения (короче, чтобы ничего не сгорело там у тебя от такого программирования). Вполне может оказаться, что схема должна работать как-то по другому... Но, на данный момент, я склоняюсь к тому, что всё правильно в моих рассуждениях и алгоритм инициализации тоже правильный... Последний раз редактировалось ura_111; 14.02.2017 в 02:03. |
14.02.2017, 16:36 | #55 |
Пользователь
Регистрация: 10.02.2017
Сообщений: 31
|
https://www.codeproject.com/Articles...-USB-Interface вот нашла)) теперь этот код нужно подстроить под RSAPI.DLL и думаю все
|
14.02.2017, 16:37 | #56 |
Пользователь
Регистрация: 10.02.2017
Сообщений: 31
|
большое спасибо
|
26.05.2017, 19:55 | #57 |
Пользователь
Регистрация: 15.08.2012
Сообщений: 26
|
Для 1Wire есть библиотека ftp://ftp.radio.ru/pub/2015/01/OWire.zip
|
17.09.2017, 22:25 | #58 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Че вы тут за извращениями занимаетесь? Зачем блокировать ОС. А прерывания никак не прикрутить?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В текстовом файле фиксируются результаты измерения температуры окружающей среды. Результаты измерения температуры фиксируются четы | dinar94 | Общие вопросы C/C++ | 1 | 26.04.2016 09:51 |
Помогите написать игру на с++,используя библиотеку opengl | Diashek | Фриланс | 9 | 05.05.2015 07:35 |
Как сделать меню 3-его уровня используя библиотеку Gtk+ | Rom@rio | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 0 | 26.10.2014 22:53 |
Cчитывание\запись файла | Dizelektwo | Win Api | 2 | 06.04.2012 00:07 |
Cчитывание с файла | СобачийКусок | Visual C++ | 1 | 04.10.2011 22:11 |