Форум: "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