+ Ответить в теме
Показано с 1 по 3 из 3

Тема: Избитая тема COM-порта. А что если отвалилось?

  1. #1
    senior developer Dr_Grizzly is on a distinguished road
    Регистрация
    13.09.2004
    Адрес
    Курган
    Возраст
    32
    Сообщений
    406
    Вес репутации
    14

    По умолчанию Избитая тема COM-порта. А что если отвалилось?

    Доброе всем! Пишу на Дельфе, для начала использовал TComPort компоненту, но сейчас понимаю, что мне хочется свое сделать. А пришел к этому по причине зависания/ошибки в программе когда устройство сидящее на СОМ порте вдруг заснуло/обесточилось... и тут начинаются танцы с бубном )) в лучшем случае рестарт системы.

    Дак вот собственно вопрос - что происходит с портом, когда устройство отвалилось, но потом снова появилось? Как можно снова возобновить работу с портом?

    Сейчас планирую написать прогу работающую с функциями CreateFile, GetCommState, SetCommState, SetCommMask, CreateThread. Ключевое тут - потоки. Хочу организовать отдельные потоки на прием, и на передачу данных, чтобы основная прога при этом работала независимо от состояния порта. Но при этом еще понимаю, что нужно организовать полную обработку ошибок с портом. А вот какое событие при каких нарушениях происходят еще не знаю... Вообщем ай нид хелп))
    Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    system architect somewhere will become famous soon enough somewhere will become famous soon enough Аватар для somewhere
    Регистрация
    31.08.2006
    Адрес
    71 RUS
    Возраст
    35
    Сообщений
    1,837
    Вес репутации
    16

    По умолчанию Re: Избитая тема COM-порта. А что если отвалилось?

    Дак вот собственно вопрос - что происходит с портом, когда устройство отвалилось, но потом снова появилось?
    На аппаратном уровне есть возможность настроить генерирование прерывания при разрыве соединения или обнаружении ошибки.
    Но здесь уже нужно знать на каком уровне ты хочешь общаться с COM-портом?
    It's a long way to the top if you wanna rock'n'roll

  4. #3
    senior developer Dr_Grizzly is on a distinguished road
    Регистрация
    13.09.2004
    Адрес
    Курган
    Возраст
    32
    Сообщений
    406
    Вес репутации
    14

    По умолчанию Re: Избитая тема COM-порта. А что если отвалилось?

    Хороший вопрос, до низкого уровня не планировал опускаться )) Нашел интересную статью про СОМ порт Описание принципов работы СОМ порта, в нем нашел информацию, что есть некий 4-й бит регистра состояния линии 3FD, который отвечает за информацию о разрыве связи. Но как к нему обратится не знаю )
    Последний раз редактировалось Dr_Grizzly; 23.01.2017 в 07:35.
    Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

+ Ответить в теме

Похожие темы

  1. программирование ЛПТ-порта
    Мне необходимо запрограммировать внешнее устройство через ЛПТ-порт. Для работы с этим устройством я хочу написать интерфейс на с#/c++ c...
    от искатель приключений в разделе Ассемблер
  2. Хочу прерывание от СОМ-порта
    Нужно прерывание по приему байта. Не получается. Прерывание от аппаратного таймера работает (для тренировки сделал). СОМ-порт работает нормально...
    от Diusha в разделе Delphi и Pascal
  3. Ассинхронная работа COM порта под XP
    Есть интересная проблема, которую не могу решить, нужна помощь. Дело в следующем. Есть проект (исходник) простейшей ассинхронной терминалки под MFC...
    от vdg в разделе C и C++
  4. Таймауты чтения с COM порта
    Что-то не могу добиться нужного результата. Есть железка, подключаемая в COM. Работает на скорости 19200. Ещё известно что таймаут ожидания...
    от SeregaLBN в разделе C и C++
  5. Считывание данных с COM порта
    Добрый день всем. Не могли бы, уважаемые программеры, помочь со следующей проблемкой: В общих чертах - прога ждет наступления события на COM порте...
    от Владимир в разделе C и C++

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения