Поиск:

Ответ в темуСоздание новой темы Создание опроса
> COM-порт - Разные компы, Проблема с работой на разных компах 
:(
    Опции темы
Sahi
Дата 14.5.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



Всем привет!
У меня следующая проблема:
Я должен обеспечить обмен компа с микропроцессором, находящимся на объекте, через BlueTooth. Все шло хорошо, работал через CreateFile. Затем пользователь установил драйвер BlueTooth так, что рабочие СОМ-порты оказались на номерах выше 9. CreateFile не понимает обращение к номеру порта выше 9. Взял APRO. Есть у него компонент AproComPort. Все хорошо. Работал на любых портах, отднако на быстрой машине (очень быстрой) получилось так, что при побайтовом приеме данных, те данные, которые уже приняты, принимаются еще раз. Т.е.

for(;;)
{
    if(AproComPort->CharReady()) //есть ли символ ?
    {
          if(AproComPort->GetChar() == 0x75) //если взятый символ == 75h
          {
             //Что-то делаю
          }
    }
 
}
Получается так, что на быстром компе опрос порта такой шустрый, что не успевает прийти новый символ и затереть старый, а GetChar() не сбрасывает, надо полагать, флаг статуса. Чистка буфера пробовал - но это не лучший выход. 

В связи с этим есть ряд вопросов:
1. Можно ли побороть проблему портов выше 10 для CreateFile?
2. Работал ли кто-нибудь с APRO и сталкивался ли с подобной проблемой?
3. Можно ли в данном случае для APRO использовать функцию GetBlock с размером блока = 1 - по документации эта функция должна забирать символ из буфера.

Буду очень благодарен за советы и ссылки.
Заранее спасибо.

PM MAIL   Вверх
ama_kid
Дата 14.5.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 10
Всего: 95



Цитата(Sahi @  14.5.2007,  17:40 Найти цитируемый пост)
1. Можно ли побороть проблему портов выше 10 для CreateFile?

Вот тут глянь


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Sahi
Дата 15.5.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



Спасибо! Обязательно посмотрю
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.