|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
|||||||||||
997 при работе с СОМ портом22.05.2012, 10:29. Показов 5865. Ответов 9
Метки нет (Все метки)
Всем доброго. Давно не был здесь, но вот представился повод.
Сразу отмечу, что поиск курил. Но, то ли нет моей проблемы, то ли не так искал. Начну по-порядку. Взял я себе плату небольшую и решил побаловаться с ней. Все настроил. Закодил ее. Потом перешел к Delphi. Почитал про работу с COM портами. Сразу отказался от использования компонентов в пользу WinAPI, чтобы четко понимать происходящее и все Тру делать. Для начала все отбыдлокодил, подключение / запись посадил на кнопки без процедур / функций и вроде все заработало. Начал с отправки одного символа. И ОНО сработало. Вот тут пошло первичное оформление кода. Автоматический поиск платы, принудительное подключение к определенному порту и прочие хотелки. По факту написания всех функций и процедур начал тестирование / отладку и тут "на тебе" - 997. Протекает наложенное событие ввода / вывода. Что за хрень? Ладно. Переписываю все заново. Добавляю настройки таймаутов, перехожу в асинхронный режим работы. Тестирую. Та же ерунда. Подумал на плату. Вдруг что пишет в порт, а я не знаю. Сношу код платы, перезаливаю пустой. Очистил ее полностью. Тестирую - 997 [facepalm]. В оформлении кода и оптимизации прошло еще 2 вечера. Потом еще 2 на чтение WinAPI по работе с COM портами и типичными ошибками. Короче, я бессилен. Чувствую, что без опыта коллег мои нервы будут съедены напрочь. Теперь к коду... Подключение к плате:
Добавлено через 10 часов 23 минуты Еще одни момент: сброс порта (Purge) не помогает ни разу...
0
|
|||||||||||
| 22.05.2012, 10:29 | |
|
Ответы с готовыми решениями:
9
Ошибка при работе с COM-портом Работа с сом-портом Работа с СОМ портом |
|
|
|
| 22.05.2012, 10:59 | |
|
...это значит, что операции ввода-вывода у вас в коде перекрываются http://msdn.microsoft.com/en-u... s.85).aspx. Вы привели весь код?
0
|
|
|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
|
| 23.05.2012, 15:22 [ТС] | |
|
2raxp - спасибо, я понимаю, что это значит.
Я не понимаю, откуда это появляется и как с этим бороться. По коду привел все, что участвует. Если нужно, могу скинуть весь код (правда вечером). Но после компиляции я использую лишь кнопку подключения и кнопку записи. Вроде больше ничего не выполняется. 4 дня уже, все перепроверил. Может просто глаз замылен... Добавлено через 1 минуту UPD: CancelIoEx - только сейчас увидел в API, теоретически должно помочь? Добавлено через 21 час 58 минут CancelIO - не помогло, а CancelIoEx не идентифицируется... Кто-нибудь? Чем-нибудь? Добавлено через 5 часов 22 минуты Пойду ка я к Вашим младшим братьям. Лучше маленький форум, но хоть сколько-то эффективный, а не за 2 дня 1 полуживой ответ/вопрос от капитана. Конверсии никакой...
0
|
|
|
|
|
| 23.05.2012, 16:08 | |
|
Не по теме: ...форум - не чат, как будет время - ответят, никто не обязан мониторить именно вашу тему. Кода полного не дождались, хотя к вечеру обещали, интерес угас. А гадать на кофейной гуще - это к бабкам. Поскольку вы работаете в асинхронном режиме, то ERROR_IO_PENDING (997), который возвращает вам GetLastError() (а эту проверку в вашем коде не наблюдаю), говорит о том, что операция выполняется в фоне и нужно подождать, всего лишь.
0
|
|
|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
|
| 23.05.2012, 16:24 [ТС] | |
|
Не по теме: Не по теме: я в курсе, что форум не чат. А полного кода никто и не просил. Я же специально отметил, что если нужно - приведу. Оказалось, что никому не нужно. И я знаю, что нужно это в первую очередь мне, но не имею привычки без повода засирать темы, ибо сам модератор. Проверка GetLastError сидит в процедуре SendError, там комплексный лог генерится, застандартил его, чтобы каждый раз не писать. Если я правильно Вас понял, то смотреть мне нужно либо в сторону снятия if not проверки (что некорректно, но без нее работало - получается в ней проблема), либо, что более вероятно, в сторону WaitForSingleObject. Интересно только: какое оптимальное время для ожидания? И... спасибо
0
|
|
|
|
||||
| 23.05.2012, 17:01 | ||||
![]()
0
|
||||
|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
|||||||||||||
| 24.05.2012, 20:19 [ТС] | |||||||||||||
|
Добавлено через 1 час 51 минуту
дописал WaitForSingleObject, теперь программа даже за 10 секунд не отправляет 1 символ... Уже крыша едет...
Добавлено через 20 часов 0 минут Блииннн... Добавлено через 4 часа 23 минуты Ладно, продолжаю ждать...
0
|
|||||||||||||
|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
||||||
| 25.05.2012, 22:51 [ТС] | ||||||
|
Да ничо особенного
![]()
Не да?
0
|
||||||
|
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 114
|
|
| 28.05.2012, 11:03 [ТС] | |
|
Может быть все таки кто-нибудь знает в чем дело?
0
|
|
| 28.05.2012, 11:03 | |
|
Помогаю со студенческими работами здесь
10
Работа с сом-портом Работа с СОМ-портом Непонятки при работе с ком-портом Наводки при работе с портом Atmega8515 Управление кодировкой при работе с COM-портом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|