Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: USB-to-Serial Com-порт  (Прочитано 21627 раз)
0 Пользователей и 1 Гость смотрят эту тему.
gozzt
Гость
« : 13-05-2009 17:00 » 

Подскажите, в чем фишка. Есть программируемый источник питания с выходом COM (RS-232). Через адаптер (USB-to-Serial) он соединяется (уже USB) с компом. При его установке в системе появляется дополнительный СОМ-порт: Prolific USB-TO-Serial COMM Port (COM18). Для работы использовал CPortLib (как с Com-портом). Программа вроде открывает и закрывает этот порт, но не считывает ничего по нему (пока экспериментировал только с чтением), или как-то странно считывает - буфер всегда один и тот же (скорости передачи менял). Вопрос в следующем: это чисто COM-порт, это эмуляция Com-порта, или это USB-порт или еще что-то, т.е.каким простейшим образом можно производить чтение и запись по этому порту.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 13-05-2009 18:49 » 

По идее ты должен работать с ним как с простым СОМ портом. Одной скорости не всегда достаточно. Необходимо настороить также другие параметры и поддерживать протокол обмена данными. Не исключено, что источник питания только отвечает на запросы, те сначала надо отправить команду запроса, а потом считать данные-ответ. А он точно что-то отвечает?

Я бы посоветовал найти хорошее руководство по "общению" с этим ИП.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
gozzt
Гость
« Ответ #2 : 14-05-2009 03:37 » 

С этим ИП идет родное ПО, есть описание буфера, но мне нужно написать именно свою прогу в Дельфи. Хотелось бы точно знать,что это точно обычный COM, тогда буду долбить этот путь.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 14-05-2009 04:27 » 

Повесь сниффер на СОМ порт и перехвати обмен данными между родным ПО и ИП. По иддее большего и не надо. Всё сразу узнаешь.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
gozzt
Гость
« Ответ #4 : 14-05-2009 07:38 » 

Извиняюсь за тупость, что такое сниффер?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 14-05-2009 08:09 » 

sniffer  - "нюхач" - аппаратное и/или программное решение для отлавливания сигналов и потока данных устройств ВВ.

Попробуй самое простое - программное, например:
http://www.serial-port-monitor.com/
http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx
http://www.kmint21.com/serial-port-monitor/

Это навскидку, а вобще гугля тебе в помощь. Можно сделать соответстующий RS-232 кабель типа переходника с ответвлением, которое подключить к "слушающему" компьютеру.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
gozzt
Гость
« Ответ #6 : 15-05-2009 07:46 » 

Программы поставил. Такой вопрос: в переходнике USB-to-Serial есть 2 индикатора Rx и Tx. Насколько я помню Rx - это receive (т.е.прием, чтение), Tx - transmit (посылка, т.е. запись). Так вот, когда я этими программами (и своей тоже) задаю ComPort1.Write почему-то мигает Rx. Tx молчит наглухо С ума сойти.... Или что-то я не так понимаю?
Второй вопрос, может тупой до идиотизма, но я чего-то уже запарился: по одному ком-порту вообще можно ОДНОВРЕМЕННО (т.е.один байт прием, другой передача, третий опять прием) и принимать и отсылать данные? С ума сойти.... Я просто раньше обычно принимал через один порт, как-то обрабатывал данные и пулял во второй?

P.S.Родная прога и принимает и отсылает по одному порту, на переходнике по-очередно загораются Rx и Tх.
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 15-05-2009 10:10 » 

снифер должен быть запушен когда работает родна программа - тогда ты увидишь что именно она шлет на устройство и что устройство ей отвечает
Записан
gozzt
Гость
« Ответ #8 : 15-05-2009 12:21 » 

снифер должен быть запушен когда работает родна программа - тогда ты увидишь что именно она шлет на устройство и что устройство ей отвечает

неа, не получается, сниффер пишет: COM port can't be opened [device already open]
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 15-05-2009 13:17 » 

Какой именно? У меня с Portmon от Sysinternals такого вроде не было. (Ссылка уже была: http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx )
Во всяком случае именно для этого сниферы и предназначены...
Записан
gozzt
Гость
« Ответ #10 : 15-05-2009 13:35 » 

Какой именно? У меня с Portmon от Sysinternals такого вроде не было. (Ссылка уже была: http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx )
Во всяком случае именно для этого сниферы и предназначены...

Выбираю в ПортМон: Capture->Ports->COM18:Serial2. Вылетает: Portmon could not attach to Serial2 - the device may be in use. Мож в родном ПО какая-то блокировка зашита?
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 15-05-2009 14:09 » 

А ты попробуй до запуска родного ПО подключится к порту, а потом уже запускать...
Записан
gozzt
Гость
« Ответ #12 : 15-05-2009 14:14 » 

Да, спасибо, уже так пробую (не успел просто отписаться), инфа прёт уже - ни фига пока не понятно - краказябры одни
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 15-05-2009 14:23 » 

Ну тут уже тебе только изготовитель или светлая голова в помощь. Смотри, анализируй, сопоставляй.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
gozzt
Гость
« Ответ #14 : 15-05-2009 14:40 » 

Джон, Kivals, спасибо большое, думаю только сниффер и поможет - ушел разбираться....
Записан
gozzt
Гость
« Ответ #15 : 17-05-2009 12:08 » new

Вроде более-менее дело пошло, однако на пути преграда - в ПортМон в состоянии READ выводятся все байты, а вот в состоянии WRITE  из 26 байт - только первые 9 (хотя Length написано 26). Так вот, байты с 9 по 25 не интересуют - они $00. Но вот 26-й байт - это контрольная сумма предыдущих 25 байт. Можно как-то вычислить этот 26 байт?
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines