Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.011 c
4-38653
Праведник
2003-01-04 23:06
2003.02.13
Создание окна используя Windows API


3-38020
Beka
2003-01-28 18:46
2003.02.13
Как поместить в таблицу рисунок с помощю SQL запроса.


4-38650
А н д р е й
2003-01-04 11:15
2003.02.13
Пример работы с ADSI


3-38043
Filat
2003-01-26 17:27
2003.02.13
*.LDF > 2 Гб. Как его уменьшить или очистить?


1-38178
ST
2003-02-04 18:38
2003.02.13
Длинные циклы