Вниз
Скачать: 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.01 c
14-38478
Туся
2003-01-30 11:14
2003.02.13
ICQ бесплатно


9-37994
3d[Power]
2002-08-29 05:16
2003.02.13
Direct 3D Sound


3-38069
dimmu3
2003-01-27 08:33
2003.02.13
ограничение на длинну строки в DBGrid


14-38436
Zhenka
2003-01-27 08:42
2003.02.13
Ув. товарищи Модераторы.


1-38262
Relict
2003-02-05 08:12
2003.02.13
Определить номер строки....?




   Наверх