Приветствую. Я не программист но в конструкторе немного разбираюсь. Я электронщик, и мне нужен кусок программы который мог бы передавать по COM порту информацию с нужной мне частотой и в нужное время, как описано здесь http://we.easyelectronics.ru/electro-and-pc/ft232-kak-podruzhit-1-wire-s-kompom.html
Железо у меня есть и оно работает с данной программой что в примере, но у меня задача подключить несколько датчиков и нарисовать человеко-машинный интерфейс.
Короче нужен кусок программы в HIASM на который я бы подавал команды передать принять и.т.д. Естественно за вознаграждение, цену говорите сами.
------------ Дoбавленo в 22.52:
Или здесь http://we.easyelectronics.ru/electro-and-pc/esche-nemnogo-o-1-wire-uart.html
За подробностями задания обращайтесь, если конечно кого то заинтересовало.
Этот топик читают: Гость
Ответов: 70
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 8923
Рейтинг: 823
|
|||
Konoplj2010, предложенная (по ссылке) схема подключения (см. рис) подходит для "без железного" варианта на LPT порт или для программного переходника USB--COM. Непосредственно к COM порту на компьютере так подключиться нельзя, там присутствуют напряжения +-15 вольт (<0 -- "0", >0 -- "1").
com_1.jpg |
|||
карма: 19 |
| ||
файлы: 1 | com_1.jpg [8.4KB] [1902] |
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид писал(а): Непосредственно к COM порту на компьютере так подключиться нельзя, там присутствуют напряжения +-15 вольт (<0 -- "0", >0 -- "1").http://www.aggsoft.ru/rs232-pinout-cable/serial-port-interface.htm |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Подключиться "типа непосредственно" можно, пожалуй...
TXD - через резистор (несколько кОм), а параллельно 1W - пятивольтовый стабилитрон (анодом к земле, естественно). И больше ничего не надо, вроде бы. Сигнал на RXD не очень правильный (гарантии по стандарту только после: >3v -- "0", <3v -- "1"), но практически -- TTL сигнал вполне себе нормально проходит. |
|||
карма: 9 |
|
Ответов: 70
Рейтинг: 0
|
|||
Леонид писал(а): Да я это понимаю у меня USB-UART симулятор на компе. То есть с одной стороны USB, а с другой TXD и RXD. На компе просто виртуальный COM порт №3 или другой. По уровням то что Вы мне рассказали это я знаю и у меня всё предусмотрено и более того та программа которая приведена на ссылке у меня работает без проблем, но для моего случая этого не достаточно. В HIASM я немного разбираюсь но этого не достаточно, вот я и прошу помочь. ------------ Дoбавленo в 16.49: Galkov писал(а): Это уже всё сделано и работает нормально с той программой которая приведена в примере, но напоминаю что для меня этого маловато, мне ещё нужна визуализация. |
|||
карма: 0 |
|
Ответов: 8923
Рейтинг: 823
|
|||
Konoplj2010, ну тогда и проблем нет Посылайте на порт символ "я" (код символа 255) и ловите ответ через время реакции вашей железки.code_36805.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_36805.txt [1.6KB] [707] |
Ответов: 70
Рейтинг: 0
|
|||
Леонид писал(а): Мне этот текст ничего не сказал. Позвольте я поясню всё по порядку. Устройства, датчики, имеют линию 1-Wire, у меня есть "железный" переходник с USB на 1-Wire, но для того что бы он работал мне нужен кусок программы, а именно вложенная схема, в количестве 3 шт. 1. Передаёт на указанный порт со скоростью 9600 кБ/с значение 0xFF и в случае если устройство ответило (оно должно выдать от 0х10 до 0х90) сообщить. 2. Должен передавать данные например 0хСС в линию таким образом что бы это понимал 1-Wire то есть на частоте 115200 последовательность 0хFF;0хFF;0х00;0х00;0хFF;0хFF;0х00;0х00; что соответствует 0b11001100. Если мне нужно отправить 0х55 то последовательность должна быть 0х00;0хFF;0х00;0хFF;0х00;0хFF;0х00;0хFF; что соответствует 0b01010101. и так любой другой код который мне нужен. 3. Должен принимать из линии на частоте 115200 последовательность 0х00 или 0хFF что соответствует 0 или 1. То есть если мне прилетело значение 0хFF;0хFF;0хFF;0хFF;0х00;0х00;0х00;0х00; то этот блок должен вернуть мне значение 0xF0 что соответствует 0b11110000 и я мог это считать. Справимся? |
|||
карма: 0 |
|
Ответов: 8923
Рейтинг: 823
|
|||
Konoplj2010 писал(а): 9600 кБ/с значение 0xFFЛеонид писал(а): Посылайте на порт символ "я" (код символа 255)Konoplj2010 писал(а): оно должно выдать от 0х10 до 0х90Konoplj2010 писал(а): Мне этот текст ничего не сказалKonoplj2010 писал(а): Справимся?Полагаю что да Нашёл у себя ключик запасной от подъезда для опытов. Подойдёт такой? ОдинПровод.jpg |
|||
карма: 19 |
| ||
файлы: 1 | ОдинПровод.jpg [37.8KB] [1574] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 7 раз(а), последний 2021-06-21 07:43:32 |
|||
карма: 0 |
|
Ответов: 70
Рейтинг: 0
|
|||
Леонид писал(а) писал(а): Прямо над полем, где пишите ответ ссылка "Куда залить файл? Как скопировать и вставить схему?"Так разобрался как перетянуть в HIASM 4. Но это не то, я и сам такое делал, только вот нужны разные операции в количестве 3 шт для выполнения задач описанных выше. Леонид писал(а) писал(а): На какой скорости? И почему скорость то 9600, то 115200?Дивайс ответит сигналом присуцтвия на скорости 9600. Скорости разные так как сигнал присутствия длится примерно 1042 мсек. с момента отправки 0xFF (того же "я", того же 255), а данные работают длительностью 87 мсек. Леонид писал(а) писал(а): Полагаю что да Нашёл у себя ключик запасной от подъезда для опытов. Подойдёт такой?Мне ключ не нужен, у меня примерно 30 шт. датчиков DS18B20, которые раскиданы по агрегату, работающих по этой же шине. Так и ещё, давайте сразу договоримся о цене. |
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Люди Konoplj2010, просто нужно код портировать из рабочей проги на Delphi. Konoplj2010, Пиши на мыло andrestudio72собакаyandex.ru (датчики есть, переходник есть) на неделе помогу.
|
|||
карма: 4 |
|
Ответов: 8923
Рейтинг: 823
|
|||
Konoplj2010 писал(а): и в случае если устройство ответило (оно должно выдать от 0х10 до 0х90) сообщитьА на какой скорости устройство отвечает: на 9600 или на 115200? (Для andrestudio тоже годится ) |
|||
карма: 19 |
|
Ответов: 70
Рейтинг: 0
|
|||
Леонид писал(а): Отвечает... Когда даёт сигнал присутствия то отвечает кодом от 0х10 до 0х90 со скоростью 9600. А когда данные выдаёт то он отвечает 0xFF если говорит 1 и 0x00 если говорит 0 со скоростью 115200. ------------ Дoбавленo в 18.23: Может быть вот этот код Вам каким то образом сможет помочь. Это передача сигнала RESET и приём сигнала присутствия:
|
|||
карма: 0 |
|
Ответов: 8923
Рейтинг: 823
|
|||
Konoplj2010, понятно. Дело в том, что HiAsm-овский COM не меняет скорость на ходу.
Ещё интересно ("..Вызывает интерес ваш технический прогресс..." ): после вывода FF (я) все датчики начинают отвечать и получается каша, по идее сначала надо послать на общую шину какой-либо номер датчика, запрос именно к определённому датчику? |
|||
карма: 19 |
|
Ответов: 70
Рейтинг: 0
|
|||
Леонид писал(а): Так оно и есть я посылаю сперва RESET, затем код поиска ROM (то есть ищу устройство серийный номер которого соответствует тому что я ему потом говорю) и сам серийный номер из 8-ми байт. Только то устройство у которого совпадает этот серийник ответит мне. ------------ Дoбавленo в 19.20: А как тогда быть если HIASM на ходу не меняет скорость порта? А какое время нужно выдержать для того что бы скорость могла без болезненно изменится? |
|||
карма: 0 |
|