Форум: "Потрепаться";
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c