Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2015, 05:04   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию COM порты "засыпают" и не просыпаются (SetCommState function fail)

Всем доброго времени суток!
Есть проблемка, может кто-то сталкивался и знает как побороть. Суть в том что к ПК(win7) подключено оборудование(gsm пулы с симками) и сначала какое-то время все в порядке, все работает, но спустя какое-то время при открытии подключения к COM порту выдается ошибка(SetCommState function failed 995). Я не знаю из за чего это происходит, как теория - из за длительного подключения к COM порту со стороны софта без выполнения каких-либо действий, т.е. простоя, возможно ли? Вобщем дальше как-то оживить COM порты не выходит кроме как перезагрузкой ОС.
Заранее огромное спасибо за помощь и подсказки куда копать или даже как решить итп.
P.S. Указанная ошибка возникает в программе стороннего разработчика, в то время как все основное время порты использует моя программа, т.ч. не исключено что я что-то не знаю/не учитываю в работе с COMами. В моей программе вывода таких ошибок не предусмотрено(и честно говоря не разбирался как их вывод реализовать).

Последний раз редактировалось Crystallon; 04.08.2015 в 05:17.
Crystallon вне форума Ответить с цитированием
Старый 04.08.2015, 09:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Указанная ошибка возникает в программе стороннего разработчика
Значит ПО это чего-то либо не дочитывает из порта, либо посылает запрос на считывание, блокируя порт и ожидая от него данные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2015, 09:58   #3
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Значит ПО это чего-то либо не дочитывает из порта, либо посылает запрос на считывание, блокируя порт и ожидая от него данные.
А вообще как порт можно разблокировать? Я пытался в диспетчере устройств отключать-включать порт но без толку. Мне наверно в моей программе как-то нужно корректно завершать работу с портом чтобы такого не происходило или что-то вроде того?
Crystallon вне форума Ответить с цитированием
Старый 04.08.2015, 10:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Именно так. Корректно завершать работу программы. ПО должна закрывать хендл СОМ порта.
Иногда помогает вышибать через диспетчер задач, но оч. редко.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2015, 11:19   #5
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Именно так. Корректно завершать работу программы. ПО должна закрывать хендл СОМ порта.
Иногда помогает вышибать через диспетчер задач, но оч. редко.
Спасибо, нашел у компонента для работы с комом процедуру DonePort полагаю это оно, надеюсь поможет.
Crystallon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Выдаёт ошибку!"Warning: mysql_result() [function.mysql-result" djsliva PHP 2 24.01.2010 15:27
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
CountFunc(f), которая определяет, сколько раз в файле встретилось слово "function". ArtS Паскаль, Turbo Pascal, PascalABC.NET 3 24.05.2009 19:21