повесился ком порт
От: shrek  
Дата: 16.01.04 11:07
Оценка:
Возникла следующая проблема:
есть некое устройство на ком порте.

тестируя свою программу — я его повесил так — что даж гипертерминалом не могу в чувство привести.

Терминал запускается но ввести ничего нельзя — програмка portmon показывает что при записи сплошные таймауты — пробовал их менять — дохлый номер.

Может кто сталкивался?
Re: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 09:27
Оценка: 3 (1)
Здравствуйте, shrek, Вы писали:

S>...

S>Может кто сталкивался?

Да. Ком-порт вешается на аппаратном уровне. Помогает лишь перезагрузка компьютера. Скорее всего устройство, подключенное к ком-порту иногда шлёт некорректные посылки (или имеет нестандартную или "плавающую скорость" передачи). Этот эффект наблюдается примерно на 1-м компьютере из 10-ти. На всех остальных — всё прекрасно работает.
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[2]: повесился ком порт
От: shrek  
Дата: 17.01.04 09:39
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


S>>...

S>>Может кто сталкивался?

AD>Да. Ком-порт вешается на аппаратном уровне. Помогает лишь перезагрузка компьютера. Скорее всего устройство, подключенное к ком-порту иногда шлёт некорректные посылки (или имеет нестандартную или "плавающую скорость" передачи). Этот эффект наблюдается примерно на 1-м компьютере из 10-ти. На всех остальных — всё прекрасно работает.


На самом деле — всё обстояло ещё хуже — повесилось само устройство. пока я из него питание не выдернул — работать оно не хотело
Re[3]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 09:47
Оценка: 3 (1)
Здравствуйте, shrek, Вы писали:

S>На самом деле — всё обстояло ещё хуже — повесилось само устройство. пока я из него питание не выдернул — работать оно не хотело


В таких случаях нужно применять Watch Dog. Когда вешается устройство, оно может всё время слать 1 на вход порта. Порт считает, что это — начало посылки, но бит конца послыки не приходит. В итоге порт выставляет error bit, а программы, которые его не обрабатывают — как правило вешаются.
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[4]: повесился ком порт
От: shrek  
Дата: 17.01.04 10:01
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


S>>На самом деле — всё обстояло ещё хуже — повесилось само устройство. пока я из него питание не выдернул — работать оно не хотело


AD>В таких случаях нужно применять Watch Dog.

что за зверь?

Когда вешается устройство, оно может всё время слать 1 на вход порта. Порт считает, что это — начало посылки, но бит конца послыки не приходит. В итоге порт выставляет error bit, а программы, которые его не обрабатывают — как правило вешаются.

у меня повесилось — я записать туда ничего не мог — врайт уходил с таймаутами.
программа у меня не повесилась — просто постоянные обломы стали происходить.

жаль — error bit не догадался проверить.
теперь — когда ещё его повесить удастся
Re[5]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 10:30
Оценка: 3 (1)
Здравствуйте, shrek, Вы писали:

AD>>В таких случаях нужно применять Watch Dog.

S>что за зверь?
Аппаратная примочка, которая делает Reset устройству, если оно повисло.
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[6]: повесился ком порт
От: shrek  
Дата: 17.01.04 10:39
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


AD>>>В таких случаях нужно применять Watch Dog.

S>>что за зверь?
AD>Аппаратная примочка, которая делает Reset устройству, если оно повисло.
Оно способно питание отрубить от устройства?,
вообще можете дать ссылку?
Re[7]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 10:44
Оценка: 3 (1)
Здравствуйте, shrek, Вы писали:

AD>>Аппаратная примочка, которая делает Reset устройству, если оно повисло.

S>Оно способно питание отрубить от устройства?,
Нет. Оно посылает сигнал Reset.

S>вообще можете дать ссылку?

Поиск тебя спасёт.

PS: обращаю внимание: что это аппаратное устройство и его обсуждение выходит за рамки этого форума.
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[8]: повесился ком порт
От: shrek  
Дата: 17.01.04 10:52
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


AD>>>Аппаратная примочка, которая делает Reset устройству, если оно повисло.

S>>Оно способно питание отрубить от устройства?,
AD>Нет. Оно посылает сигнал Reset.

угу а комп может такой сигнал послать?
есть какая нибудь апи функция? — я вроде всё перерыл ничего не нашёл, что может
такой сигнал послать — аналоги write не подходят — там таймауты сыпятся
Re[9]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 11:01
Оценка: 3 (1)
Здравствуйте, shrek, Вы писали:

S>Здравствуйте, ArtDenis, Вы писали:


AD>>Здравствуйте, shrek, Вы писали:


AD>>>>Аппаратная примочка, которая делает Reset устройству, если оно повисло.

S>>>Оно способно питание отрубить от устройства?,
AD>>Нет. Оно посылает сигнал Reset.

S>угу а комп может такой сигнал послать?

S>есть какая нибудь апи функция? — я вроде всё перерыл ничего не нашёл, что может
S>такой сигнал послать — аналоги write не подходят — там таймауты сыпятся

Имеется ввиду, что WatchDog стоит внутри устройства. Так что без переделки аппаратуры тут не обойтись.

Хотя, если у тебя не задействованы контакты DTR и RTS, ты можешь их использовать для того, чтобы перезагрузить устройство послав ему Reset. Это делается функцией EscapeCommFunction.
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[10]: повесился ком порт
От: shrek  
Дата: 17.01.04 11:19
Оценка:
AD>Имеется ввиду, что WatchDog стоит внутри устройства. Так что без переделки аппаратуры тут не обойтись.
ага — облом!

AD>Хотя, если у тебя не задействованы контакты DTR и RTS, ты можешь их использовать для того, чтобы перезагрузить устройство послав ему Reset. Это делается функцией EscapeCommFunction.


что значит не задействованы?
я сигнал DTR не обрабатываю, RTS — кстати тоже...
т.е. не пользуюсь функцией ::WaitCommEvent
Re[11]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 11:27
Оценка: :)
Здравствуйте, shrek, Вы писали:

S>я сигнал DTR не обрабатываю, RTS — кстати тоже...


Ну, тогда, паяльник и клаву в руки — и вперёд
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[12]: повесился ком порт
От: shrek  
Дата: 17.01.04 11:37
Оценка:
S>>я сигнал DTR не обрабатываю, RTS — кстати тоже...
надо будет попробовать ту функцию...
AD>Ну, тогда, паяльник и клаву в руки — и вперёд
ага — припаяю — руки к клаве
ну да бог с ним — про эту функцию я как то забыл.
вставлю в обработку ошибок и молится

а как можно определить занят ком порт или нет?
ну в смысле — есть ли там устройство или нет — по таймаутам на запись в порт не хочется...
Re[13]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 11:44
Оценка:
Здравствуйте, shrek, Вы писали:

S>надо будет попробовать ту функцию...

Пробовать эту функцию без аппаратной переделки — не имеет смысла.

S>а как можно определить занят ком порт или нет?

S>ну в смысле — есть ли там устройство или нет — по таймаутам на запись в порт не хочется...
Организовать соответствующий протокол обмена данными с устройством. Типа компьютер справшивает: "Ты здесь?", а устройство отвечает: "Да"
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[14]: повесился ком порт
От: shrek  
Дата: 17.01.04 12:12
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


S>>надо будет попробовать ту функцию...

AD>Пробовать эту функцию без аппаратной переделки — не имеет смысла.
я не в курсе — может и есть в этом устройстве чего...
как проверить?
документация — куцая...

S>>а как можно определить занят ком порт или нет?

S>>ну в смысле — есть ли там устройство или нет — по таймаутам на запись в порт не хочется...
AD>Организовать соответствующий протокол обмена данными с устройством. Типа компьютер справшивает: "Ты здесь?", а устройство отвечает: "Да"

проблема в том что на любую попытку записать в компорт команду — меня обламывают таймаутом.
Re[15]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 12:33
Оценка:
Здравствуйте, shrek, Вы писали:

S>я не в курсе — может и есть в этом устройстве чего...

S>как проверить?
S>документация — куцая...

У меня два вопроса:

1. Что это за устройство?
2. Можно ли вмешиваться в его схему?
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[16]: повесился ком порт
От: shrek  
Дата: 17.01.04 12:46
Оценка:
S>>я не в курсе — может и есть в этом устройстве чего...
S>>как проверить?
S>>документация — куцая...
AD>У меня два вопроса:

AD>1. Что это за устройство?

gsm-терминал Nikia22
управляется как модем — ат командами.

AD>2. Можно ли вмешиваться в его схему?

лучше не надо
Re[17]: повесился ком порт
От: ArtDenis Россия  
Дата: 17.01.04 13:00
Оценка:
Здравствуйте, shrek, Вы писали:

AD>>1. Что это за устройство?

S>gsm-терминал Nikia22
S>управляется как модем — ат командами.

Уууу... Тогда понятно. Надо было сразу про это написать. Тогда тут есть несколько вариантов:

1. Проверь команды, которыми ты управляешь модемом. Есть вероятность того, что ошибка в твоей команде, что приводит к "кажущимуся" зависанию устройства.

2. Если вешается порт (ReadFile или WriteFile возвращают false), попробуй либо функцию ClearCommError, либо закрой и заново открой порт.

3. Если тебе требуется связь по сетевому протоколу, посмотри семейство Ras-функций, в частности, RasDial и RasHangUp
... << RSDN@Home 1.1.2 stable >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[18]: повесился ком порт
От: shrek  
Дата: 17.01.04 13:07
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, shrek, Вы писали:


AD>>>1. Что это за устройство?

S>>gsm-терминал Nikia22
S>>управляется как модем — ат командами.

AD>Уууу... Тогда понятно. Надо было сразу про это написать. Тогда тут есть несколько вариантов:


AD>1. Проверь команды, которыми ты управляешь модемом. Есть вероятность того, что ошибка в твоей команде, что приводит к "кажущимуся" зависанию устройства.


не — исключено.
я машину перегружал — один хрен — пока не выдернул питание поднять не мог.
Гипертерминал тоже не смог поднять.



AD>2. Если вешается порт (ReadFile или WriteFile возвращают false), попробуй либо функцию ClearCommError, либо закрой и заново открой порт.


AD>3. Если тебе требуется связь по сетевому протоколу, посмотри семейство Ras-функций, в частности, RasDial и RasHangUp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.