Главная страница
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.47 MB
Время: 0.024 c
1-90868
Juckser
2002-03-05 20:53
2002.03.28
Как сделать, чтобы при открытии Wave-файла запускалась моя программа, и MediaPlayer в ней, воспроизвел этот файл?


14-91047
макар
2002-02-13 17:38
2002.03.28
Может кто-нибудь знает


3-90743
roottim
2002-02-28 15:31
2002.03.28
месяц-год... и тп


7-91089
Dmitry1979
2001-12-26 12:26
2002.03.28
Как послать сообщение во факсу из программы на Delphi?


1-90876
skovorodka
2002-03-17 13:55
2002.03.28
Путь в Explorer/Regdit