Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

Опять вопрос по работе с COM портом.   Найти похожие ветки 

 
John_Korsh   (2006-01-29 14:20) [0]

Не поможете ли с простой задачей. Как грамотно дождаться окончания посылки байта при работе с COM портом?
Я использовал процедуру вида

procedure TMy_Com.putb_ex(b       : byte;
                      var res :boolean);
 { Send one byte. }

var
 stat                   : dword;
 i                      : longint;

 begin

  stat := 0;
  i := 0;
  While ((stat <> 1) and
        (i < 30000)) do
    begin
     WriteFile(com,
               b,
               1,
               stat,
               nil);
     i := i + 1;
    end;

  if stat = 1 then
   begin
    res := True;
   end
  else
   begin
    res := False;
   end;

 end;

При работе с реальным COM портом это работает, если же используется виртуальный порт на USB, то разваливается. Пока использую Sleep (2) после каждого байта (у меня 9600) - это плохо - напрасное ожидание.
Пршу извинени за плохой стиль в Delphi - я далеко не мастер, поэтому, если кто ответит - желателен пример.


 
Kolan ©   (2006-01-29 15:15) [1]

Попробую вам помочь.
Во первых зачем надо ждать конца посылки?
2. Если процесс отсылки байт засунить в поток то Sleep(2) нормальный вариант.
3. Неплохая статья: http://bcbsql.narod.ru/pub/rabcomm.htm


 
John_Korsh   (2006-01-29 15:53) [2]

Спасибо, жить стало маленько полегче.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.027 c
2-1143830068
Turbid
2006-03-31 22:34
2006.04.16
Как узнать, что курсор мыши над иконкой в трее?


2-1144144175
Nick_serov
2006-04-04 13:49
2006.04.16
Grid Grid Grid... от TMS


2-1143632156
apic
2006-03-29 15:35
2006.04.16
Уважаемые мастера, ПАМАГИТЕ!!!!!!!!!!!!!


15-1143365646
Хостер
2006-03-26 13:34
2006.04.16
сервер под виндой


15-1143440983
укенг
2006-03-27 10:29
2006.04.16
вопрос про КАСКО





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский