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

Вниз

автоматическое считывание с com порта   Найти похожие ветки 

 
Denis_kas   (2010-11-21 14:27) [0]

Господа программисты. Как и при помощи чего можно считать информацию с ком порта автоматически (т.е. не по кнопке, а именно по приходу информации в порт).
Задача в следующем.
Имеется 2 компа соединенных через ком порты. Требуется сделать так, что бы по приходу 1 пакета информации в порт, принимающая сторона тутже выдала квитанцию о принятии.

На данный момент все происходит по кнопке "принять", "отправить" и естественно ни о какой квитанции речи быть не может..


 
Германн ©   (2010-11-21 15:18) [1]


> Как и при помощи чего можно считать информацию с ком порта
> автоматически


> На данный момент все происходит по кнопке "принять"

А как именно?


 
Denis_kas   (2010-11-21 15:22) [2]

Как именно принимаю:

procedure Tmain.Button3Click(Sender: TObject);
var
...
begin

...
  result := Read_Device(hCOM, o, Length(Input_Buffer), Input_Buffer);

  if (result <> 0) then begin
       Application.MessageBox("Ошибка чтения порта", "Ошибка", MB_OK);
  end;
...
  end;


А что требуется, вроде понятно описал.. или нет?


 
Германн ©   (2010-11-21 15:24) [3]


> Read_Device

Не знаю такую функцию WinAPI.

> А что требуется, вроде понятно описал

Понятно.


 
Вариант   (2010-11-22 05:44) [4]


> Denis_kas   (21.11.10 14:27)

Варианты:
1)
Изучить работу с портами через Windows API - в чем помогут книга Павла Агурова
"Последовательные интерфейсы ПК. Практика программирования"
или статьи по теме на различных сайтах + MSDN (функции SetCommMask, WaitCommEvent, ReadFile и еще приличный список функций)
2)
Установить какой-либо нормальный компонент работы с портом и изучить работу с ним

Первое даст больше в  личном плане для дальнейшей работы под Windows и не только с портом.


 
MBo ©   (2010-11-22 05:44) [5]

Последовательный порт извещает систему об изменениях своего состояния.
Если самому писать всё взаимодействие с портом, то появление данных в порту поможет обнаружить функция WaitCommEvent с EV_RXCHAR в маске.

Есть так же море готовых компонентов, у которых обычно есть событие вроде OnRXChar (например, ComPort автора Dejan Crnila)


 
tesseract ©   (2010-11-25 11:30) [6]

Открывать порт в отдельном потоке в OVERLAPPED режиме и ставить маску  EV_RXCHAR или просто считывать по байту в GetOverlappedResult.



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

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

Наверх





Память: 0.46 MB
Время: 0.001 c
2-1476366771
JohnKorsh
2016-10-13 16:52
2019.01.06
COM порт и BlueTooth


15-1476048601
Юрий
2016-10-10 00:30
2019.01.06
С днем рождения ! 10 октября 2016 понедельник


4-1290642303
delphi_forever
2010-11-25 02:45
2019.01.06
глобальный hook на клаву


15-1476267406
Игорь Шевченко
2016-10-12 13:16
2019.01.06
Советую


4-1290338878
Denis_kas
2010-11-21 14:27
2019.01.06
автоматическое считывание с com порта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский