Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Проблема с Async Professional   Найти похожие ветки 

 
Antonyan   (2006-04-16 00:19) [0]

Уважаемые Господа !
Я использую библиотеку Async Professional 4.06 & Delphi 5.
Работаю с Com портом. Есть проблема. Как я могу обратиться (желательно используя функции Async Professional) к регистру состояния линии, чтобы знать гарантировано, что данные ушли в линию. Вариант с таймаутами использовать не хочется, но в то же время прямой функции не обнаружил. Также буду благодарен за ссылку на документацию на русском языке.

Заранее благодарен


 
Германн ©   (2006-04-16 00:56) [1]

WaitCommEvent из WinAPI


 
Германн ©   (2006-04-16 01:55) [2]

Забыл сказать. Тут уж либо APro, либо WinAPI.

Недурно было бы ещё сказать - зачем тебе
>  знать гарантировано, что данные ушли в линию
? Может ты не там ищешь?


 
tesseract ©   (2006-04-16 08:07) [3]


> знать гарантировано, что данные ушли в линию.

из Winapi :
WriteFile сообщает сколько данных ушло.
Если не хочешь тормозить на этом процессе используй overlapped-стурктуру.


 
Antonyan   (2006-04-16 10:02) [4]

Спасибо за ответы, но вопрос открыт. Дело в том, что после отправки необходимо установить DTR=1. Если использовать функцию проверки выходного буфера из Async, то получается так : буфер пуст, ставим DTR=1,  а на самом деле регистр, отвечающий непосредственно за передачу, как раз в это время отправляет последний байт. И получается что ты сам рубишь сук на котором сидишь. Проверял осцилографом. Так вот поэтому необходимо обращаться в регистр состояния линии и проверять 6 бит на 1. Как только  там 1 - значит все отправлено. Но как туда залезть ?


 
tesseract ©   (2006-04-16 11:15) [5]


> Спасибо за ответы, но вопрос открыт. Дело в том, что после
> отправки необходимо установить DTR=1.


Обычно до отправки ставится RTS ждётся сигнал CTS, от устройства.
После отправки возможно действительно следует выставить DTR дабы ус-во поняло что операция не идёт.

Как правило эта проблема решается замывканием 4-6(RTS-CTS), 7-8 (DTR-DTS)
EscapeCommFunction c параметрами:
CLRDTR Clears the DTR (data-terminal-ready) signal.
CLRRTS Clears the RTS (request-to-send) signal.
SETDTR Sends the DTR (data-terminal-ready) signal.
SETRTS Sends the RTS (request-to-send) signal.


 
Antonyan   (2006-04-16 19:38) [6]

Блин, все равно что то не выходит ничего путного



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

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
9-1132487732
Kobik
2005-11-20 14:55
2006.07.30
Большая картинка в DX


15-1151791564
TUser
2006-07-02 02:06
2006.07.30
Никто не поможет прогнать файл через ТеХ?


5-1136602938
GydruS
2006-01-07 06:02
2006.07.30
Почему элементы TreeView не отображается во всех фреймах?


2-1152724757
Niko12
2006-07-12 21:19
2006.07.30
TEdit + image-background


4-1145135285
Vovanchik
2006-04-16 01:08
2006.07.30
Создание формы в чужом окне