![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]()
Добрый день. Пытаюсь послать сразу несколько команд на устройство.
Но при отправке на устройство приходит это все как 1234. А хотелось бы 1 потом ответ от устройства, 2 ответ от устройства и т.д Что я делаю не так? Использую компонент ComPort Library version 4.10 Код:
|
![]() |
![]() |
![]() |
#2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
Так это от устройства зависит - может ли оно читать команды по одной
Или организуйте задежку до прихода ответа |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]() Цитата:
ComPort1.WaitForEvent(Events, Event.Handle, 5000); не помогает.. Просто есть офф софт, который отправляет команды и они уходят как: 1 2 3 4 А не как 1234 в моей программе.. |
|
![]() |
![]() |
![]() |
#4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
Понимаете, com-порту пофигу. Вопрос только в задержках.
Если железо умеет читать из порта по одному байту, вообще никаких проблем А тут явно оно вычитывает всё, что успело прибежать А Вы уверены, что софт не пишет, например, #13 после каждой команды? |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]() Цитата:
1 Если при отправке в свой программе я дописываю #13 То получаю Отправку вида: 1 [len=1] |
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]() Цитата:
Отправил <CMD REGIME 192837465><NUL> Получил <CMD REGIME 192837465><NUL> Отправил XYZ ttt<NUL> Получил XYZ FALSE<NUL> Отправил XYZ 0<NUL> Получил XYZ FALSE<NUL> Если отправлять из моей программы с #13 Отправил <CMD REGIME 192837465><NUL> [len=23] Отправил XYZ ttt<NUL> [len=8] Отправил XYZ 0<NUL> [len=6] Получил <CMD REGIME 192837465><NUL> Если отправлять из моей программы без #13 Отправил <CMD REGIME 192837465><NUL>XYZ ttt<NUL>XYZ 0<NUL> Получил <CMD REGIME 192837465><NUL> |
|
![]() |
![]() |
![]() |
#7 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
Так не отправляйте команду, пока не придёт ответ.
Ответы как читаются, асинхронно? Сделайте очередь, по приходу ответа смотрите, есть ли команда в очереди, если есть - отправляйте |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Amilman, у Вас протокол обмена с устройством, предоставленный изготовителем, есть в наличии?
Или проект основан на энтузиазме и каком-нить софте перехватчике пакетов?
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]()
Энтузиазм и софтина перехватчик Advanced Serial Port Monitor. Просто к нам в компанию пршел клиент с прибором который запоролен. А предыдущая компания просто не сообщает пароль для входа чтобы сбросить настройки прибора. Офф софтина предлагает ввести в ручную пин код от прибора и если он неверен, то прибор отключает свой COM на 1 минуту. Вот я хотел чтобы моя софтина перебрала пароли для входа в устройство автоматически.
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Так а разве нет возможности связаться с техподдержкой изготовителя прибора?
Наверняка предусмотрен сброс на дефолт, типа как в роутерах. А так, сами представте. Нужно угадать протокол обмена, чтоб железка воспринимала строку как команду, а не как мусорные помехи на линии. Софт который будет генерить пароли методом перебора комбинаций реализовать возможно. Но представте сколько понадобится времени, с ожиданием в одну минуту перед вводом следующей комбинации. Жуть ![]()
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Лабораторная работа(очень простая) Структуры, работа с файлами | yurda | Фриланс | 2 | 11.06.2016 08:44 |
Работа с ems api: корректная работа только при явном указании города | mrdemkin | JavaScript, Ajax | 3 | 02.03.2015 18:23 |
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме | NewDelphi | Фриланс | 2 | 08.10.2009 11:00 |