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

Вниз

COM-порт   Найти похожие ветки 

 
M-A-B ©   (2002-02-04 15:09) [0]

Доброе время суток господа программисты!

Работаю с СОМ-портом. Никаких проблем у меня не было с приёмом и перердачей данных
через СОМ порт до того пока данные с прибора на компьютер передавались через
интерфейс RS232, но вот недавно у меня на работе сделали преобразователь с RS485 на
RS232, т.е. данные с прибора на преобазователь передаются через RS485, а вот уже с
преобразователя на комп чере RS232. И вот теперь для того, чтобы у меня всё
полуичлось необходимо перед отправкой данных в порт установить флаг DTR в 0, а перед
получением установить флаг DTR в 1. Пытаюсь использовать функцию
EscapeCommFunction(hCOM, CLRDTR) и соответственно EscapeCommFunction(hCOM, SETDTR),
но ничего не получается!!!

--------- Вообщем вот старый код (работающий на RS232) ----------
// Установка параметров DCB, TimeOuts, и т.п. Инициализация СОМ-порта.
...
// Запись в порт
WriteFile(hCOM, Buffer, 10, NumberOfBytesWritten, nil);

// Ожидание ответа
for kkk:=1 to 10 do begin
ClearCommError(hCOM, Error, @Stat);
if (Stat.cbInQue>0) or (Error>0) then break;
sleep(10)
end; // for kkk

// Чтение из порта
if (Stat.cbInQue>0) and (Error=0) then
ReadFile(hCOM,...)
------------------------------ Конец ----------------------------

--------- А вот новый код для моей задачи (не работает) ---------
// Установка параметров DCB, TimeOuts, и т.п. Инициализация СОМ-порта.
...
DCB.Flags:=(DCB.Flags and not $30) or (DTR_CONTROL_SHAKE shl 4);
...

// Установка флага DCB.fDTRControl в 0
EscapeCommFunction(hCOM, CLRDTR);

// Запись в порт
WriteFile(hCOM, Buffer, 10, NumberOfBytesWritten, nil);

// Ожидание ответа
for kkk:=1 to 10 do begin
ClearCommError(hCOM, Error, @Stat);
if (Stat.cbInQue>0) or (Error>0) then break;
sleep(10)
end; // for kkk

// Установка флага DCB.fDTRControl в 1
EscapeCommFunction(hCOM, SETDTR);

// Чтение из порта
if (Stat.cbInQue>0) and (Error=0) then
ReadFile(hCOM,...)
--------------------------------------------- Конец
---------------------------------------------


Что делать не знаю - тупик! :-(
Подскажите, помогите, очень надо!
Заранее спасибо за помощь.



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

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

Наверх




Память: 0.46 MB
Время: 0.015 c
1-90818
sgs
2002-03-13 14:10
2002.03.28
Использование SOAP


4-91120
Landgraph
2002-01-20 23:00
2002.03.28
Массив...


6-91031
hardward
2002-01-11 07:56
2002.03.28
Тормозит многопоточное приложение (SMTP-сервер)


3-90772
Vygantas
2002-03-02 14:56
2002.03.28
SQL запрос ??


3-90789
Rub
2002-03-04 11:02
2002.03.28
Как програмно послать почту по русски??? Помогите плиз!!!