0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 73
|
|||||||||||
1 | |||||||||||
Программа зависает при приеме сообщения через com порт01.11.2013, 21:23. Показов 3395. Ответов 10
Метки нет (Все метки)
создал один виртуальный порт.Написал программу для чтения и записи по этому порту, но при приёме текста, всё зависает. думаю ошибка возникает при записи.(Проверял на рабочих программах, чтение работает)
код для записи в edit.
0
|
01.11.2013, 21:23 | |
Ответы с готовыми решениями:
10
Программа зависает при приеме файла через NetworkStream Зависает клиент при приёме от сервера Зависает при приёме больших данных Чат - Обновление страницы браузера при приеме сообщения |
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
|
|
02.11.2013, 03:25 | 2 |
Почитай эту тему, думаю поможет
Работа с КОМ портом. Исходник
0
|
0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 73
|
|
02.11.2013, 19:01 [ТС] | 3 |
разобраться не удалось, может кто ещё посмотрит
0
|
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
|
|
02.11.2013, 19:24 | 4 |
А чего смотреть? Вы саму суть понимаете? Так объясните, чтоб и другие поняли. СОМ2 - это не виртуальный порт; его может не быть на компе, но если он есть, то это уже физически - разъем для коммутации с устройствами. И если вы что-то с него хотите прочесть, то туда нужно что-то и подать в виде информации. А иначе он может ожидать стартовый бит до второго пришествия, или пока тайм-аут не прервет.
1
|
0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 73
|
||||||
03.11.2013, 01:22 [ТС] | 5 | |||||
порт как раз таки виртуальный, создан с помощью спец. программы. Его наверно нужно настроить
0
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
05.11.2013, 12:33 | 6 |
Так отправляет его туда кто?
Когда вы записываете в свой одинокий порт, то данные скорее всего не идут никуда дальше буфера, который ждет, что сейчас к нему подключится запаздывающее устройство и он ему все успешно начнет передавать. А когда же вы хотите считать с порта, то порт говорит: "я жду, я готов. Давай, записывай в меня!". Но никто не пишет. А вам это видится как будто порт повис. (такие вещи кстати делаются обычно из другого потока (и виснет только отдельный поток)) nick42, же вам правильно подсказывает. В таких случаях обычно создаются два виртуальных порта, и каким-нибудь сплиттером ком портов все это дело сочленяется. То есть придется писать две программы (ну или две копии запустить) - на чтение и на запись с каждого виртуально соединенного порта. То есть одна программа пишет в свой порт, другая в это время читает из своего, отличного от предыдущего, порта. Все счастливы и радость общения. Если бы порт был физический, то паяется Почему? У меня вот прям сейчас COM4 виртуальный порт.
1
|
Практикантроп
4840 / 2725 / 533
Регистрация: 23.09.2011
Сообщений: 5,795
|
|
05.11.2013, 13:40 | 7 |
SatanaXIII, и у меня на домашнем 3 порта: 1-2 - виртуальная пара, СОМ3 - физический (без шаманских действий BIOS его установил как СОМ1). Но в разрезе данной темы думаю, что СОМ1 у ТС в системе существует, и вышеприведенные фрагменты программы инициализируют именно его, а не созданные виртуально порты. Кстати, виртуальные потому и создаются парами, что одиночный порт не имеет смысла, - все равно что однополюсный магнит.
0
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
05.11.2013, 14:02 | 8 |
А. Ага. Понял.
Когда у меня была потребность в создании виртуальных портов, то они создавались пачками. Всмысле больше двух. И перетыкать их надо было. Поэтому я что-то запамятовал, про парное создание. Они прям создаются уже парой? Всмысле нельзя поштучно? Не по теме: И у меня кстати такой проблемы с переименовывание портов не было. Они и так все назывались Я бы поглядел. )
0
|
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
|
|
06.11.2013, 04:37 | 9 |
Не по теме: Достань магнит из гермоблока винчестера, там где управления головками. Там стоят неодимовые магниты, но с одного полюса закрытые металом (незнаю точно каким, надо в вики прочитать) и где есть этот метал, нет магнитного поля. Как-никак, хоть с костылями, но в итоге получается однополюсный магнит.
0
|
0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 73
|
|
07.11.2013, 13:15 [ТС] | 10 |
всем спасибо за ответы, проблема решена.
0
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
07.11.2013, 13:27 | 11 |
prostreet, было бы очень здорово, если б вы еще и пояснили как была решена проблема. Сейчас вам может это кажется глупой ошибкой, или вообще даже загвоздка была совершенно в другом, но дайте дополнительную надежду человеку, наткнувшемуся на такую же проблему и читающему сейчас эту тему в будущем.
2
|
07.11.2013, 13:27 | |
07.11.2013, 13:27 | |
Помогаю со студенческими работами здесь
11
Помеха с типом char, при приёме сообщения от клиента к серверу (c++) Зависает программа (COM порт) Сообщения фиксированной длины через COM порт Ошибка при приеме данных через COM (Arduino-Xbee-PC) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Интеграция Arduino и ChatGPT: Практическое руководство
InfoMaster 16.01.2025
В современную эпоху технологических инноваций интеграция искусственного интеллекта с микроконтроллерами открывает принципиально новые возможности для создания умных устройств и автоматизированных. . .
|
Как создать робота, управляемого ChatGPT
InfoMaster 16.01.2025
Концепция проекта
В современную эпоху искусственный интеллект и робототехника становятся все более доступными для энтузиастов и разработчиков. Создание роботизированной руки, управляемой ChatGPT,. . .
|
Как создать ChatGPT бота в Telegram на Python
InfoMaster 16.01.2025
В современном мире технологии искусственного интеллекта становятся все более доступными для разработчиков, открывая новые возможности для создания умных и интерактивных приложений. Одним из самых. . .
|
Машинное обучение с помощью Python
InfoMaster 16.01.2025
Машинное обучение стало неотъемлемой частью современных технологий, позволяя компьютерам учиться на основе данных и принимать решения без явного программирования. В сочетании с языком. . .
|
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP
В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
|
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
|
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
|
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|