![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| KRTPC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.12.2005 Репутация: нет Всего: нет |
Люди я работаю с GSM модемом и не факт что он всегда ответит и по этому я использую Wait for single object. Я пишу в порт с помошью WriteFile сбрасываю событие ResetEvent и жду приема Wait for single object. WaitComEvent неподходит так как модем может не ответить и прога зависнет. Как правильно дождаться приема и считать а по истечению таймера сказать что устройство вовремя не ответило
вот мой кусок как я пытаюсь сделать подскажите как исправить или дайте свой пример
зарание спасибо да и я не спец то если можно и немного поясните если можно но буду рад всему |
|||
|
||||
| ElcnU |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 28.4.2006 Репутация: нет Всего: нет |
в другом патоке и с помощью событий
|
|||
|
||||
| KRTPC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.12.2005 Репутация: нет Всего: нет |
а как мне определить что порт свободен?
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
если открыть его не удасться значит занят
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| KRTPC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.12.2005 Репутация: нет Всего: нет |
нужна помошь
на операцию WriteFile прога выдает ошибку 997 ERROR_NOACCESS при этом в порт пишется и из порта можно считать но не понятно откуда ошибка??? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
после этого в переменой порт что? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| KRTPC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.12.2005 Репутация: нет Всего: нет |
переменная pory HANDEL и CreateFile возврашает тоже HANDEL если не так то поясни по подробнее что ты хочешь спросить
|
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
то что она возвращает я знаю, что в ней при трасировке?
такую проверку сделай после криате файла
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| KRTPC |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.12.2005 Репутация: нет Всего: нет |
эту проверку я делаю и в ней ошибок нет.Ошибка появляется после writefile-код ошибки 997,
но в порт поишется и читается |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
KRTPC, SetCommState
сначало имхо надо настроить порт для передачи Добавлено @ 15:23 http://vingrad.ru/CPP-FAQ-002452 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Ataru |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.9.2008 Репутация: нет Всего: нет |
вообще-то 997 это ERROR_IO_PENDING, а ERROR_NOACCESS = 998 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
довольно опасная строка std::string не гарантирует, что пока WriteFile будет писать, там ничего не поменяется или буфер вообще не переаллокейтится в другое место -------------------- qqq |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ResetEvent тут точно стабильности не прибавит
сразу перед сбросом, операция может завершится и на тебе - дедлок на 10 сек и дальнейшая потеря управления над этим буфером а GetOverlappedResult без ожидания - не дает гарантии, что ее вызов потребуется только единожды (тут цикл нужен, пока не будет передано требуемое число байт) кстати, к чему тут WAIT_ABANDONED?
GetOverlappedResult и т.п. ставь в ветку WAIT_TIMEOUT а WAIT_ABANDONED убери -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
А не вариант посмотреть двумя темами ниже и увидеть работающий код ??? что за лень такая ?
Обмен по COM порту -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Прием осуществляется функцией ReadFile, а ее в исходнике не наблюдается Для отправки и последующего приема последовательность действий должна быть такой:
|
||||
|
|||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |