Вниз
Скачать: CL | DM;

RS485 mode   Найти похожие ветки 

 
S.A.S.   (2002-12-13 12:08) [0]

Привет всем. Помогите с решением такой проблемы. Необходимо работать с внешним устройством через COM порт по стандарту RS485. Работаю через CreateFile... Как правильно наложить маску на dcb.Flags, чтобы RTS сам переключался (Toggle mode). Посылаю устройству строку, оно отвечает (осциллографом смотрю), а считать ответ не могу - на ReadFile... прога виснит. Перебрал несколько готовых компонент - посылка отлично, а при приеме ни одно ихнее событие (типа onRxChar, onRxFlag) не наступает. Если читать сразу после отправки - опять виснем. Как правильно выставить timeout или может причина еще в чем-то ?
В общем как правильно читать данные из порта в RS485.


 
wal ©   (2002-12-13 12:46) [1]

Забей на

> чтобы RTS сам переключался

- нормально оно н когда не работало, и переключай с пoмощью EscapeCommFunction. Включай перед передачей и выключай после окончания передачи. Окончание передачи можно определить таким образом - практически все известные мне аппаратные реализации RS485 выдают эхо, т.е. что передал, то и получаешь на входе. значит работаем так -
выставляем РТС,
передаем данные1,
принимаем данные1,
снимаем РТС,
принимаем данные2.
А насчет флагов - выставляй только проверку четности, если она конечно предусмотрена протоколом.




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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-38242
Сергей
2003-02-05 10:33
2003.02.13
ошибка в ActionMainMenuBar при работе с MDIChild окнами


6-38410
a-leksey
2002-12-21 14:59
2003.02.13
Не могу получить ответ на запрос ТClientSocket!!!


3-38124
Dim!S
2003-01-28 12:46
2003.02.13
Поиск подстроки


14-38459
MsGuns
2003-01-29 18:23
2003.02.13
Редактирование анкеты


9-37996
Lamer86
2002-09-07 14:45
2003.02.13
Документация к GLScene на русском




   Наверх