;)
на некоторых PC/104 RS-485 поддерживается,
но надо вручную дёргать модемный сигнал DTR...
Если вы уже используете преобразователь, то проблем быть не должно...
Желательно учесть, что если вы используете малоресурсную платформу, и она жёстко загружена задачами, то лучше использовать МАКСИМАЛЬНУЮ скорость RS. На минимальных скоростях при жёстко загруженной платформе передача данных на низких скоростях работает хуже.
С уважением,
Бессонов Ян.
Первоначально опубликовано bessonov
но если вы уже используете преобразователь, то проблем быть не должно...
Преобразователи есть разные - с автоматической коммутацией канала и без оной... Я в этом слабо понимаю, но мне это в своё время сказали мои аппаратчики: "за что купил - за то и продал"(с).
Первоначально опубликовано Olej
Первоначально опубликовано bessonov
но если вы уже используете преобразователь, то проблем быть не должно...
Преобразователи есть разные - с автоматической коммутацией канала и без оной... Я в этом слабо понимаю, но мне это в своё время сказали мои аппаратчики: "за что купил - за то и продал"(с).
Аналогично...
С уважением,
Бессонов Ян.
Первоначально опубликовано Evpator
RTS+CTS используются для аппаратного управления процессом передачи данных ..... логика работы RTS+CTS не позволит
мне зделать то что я хочу, а нужно в общем-то следующие :
TxD -> byte1 ......... byteN
________________
RTS -> __| |_________
Допуск задержки заднего фронта импульса RTS ~0.5 мс
Если я правильно понимаю -- это называется аппаратное управление потоком данных.
Это стандартный режим RS порта -- он есть у всех операционок.
Тогда вам надо установить соответствующий режим RS порта.
:)
Почитайте доку на утилиту "stty"
;)
По моему вам не надо дёргать за модемные линии (ioctl() и qnx_ioctl())
:)
уточнил -- этот режим называется HARWARE FLOW CONTROL.
Режим стандартный.
С уважением,
Бессонов Ян.
Первоначально опубликовано bessonov
Почитайте доку на утилиту "stty"
;)
По моему вам не надо дёргать за модемные линии (ioctl() и qnx_ioctl())
:)
уточнил -- этот режим называется HARWARE FLOW CONTROL.
Режим стандартный.
Тогда действительно не нужно спешить - смотрим прежде stty - стандартная UNIX утилита, ну, с некоторыми специфичными ключами для случая QNX, хорошо описана в HELP...
#man stty
#use stty
... наконец.
Первоначально опубликовано bessonov
Первоначально опубликовано Evpator
RTS+CTS используются для аппаратного управления процессом передачи данных ..... логика работы RTS+CTS не позволит
мне зделать то что я хочу, а нужно в общем-то следующие :
TxD -> byte1 ......... byteN
________________
RTS -> __| |_________
Допуск задержки заднего фронта импульса RTS ~0.5 мс
Если я правильно понимаю -- это называется аппаратное управление потоком данных. Это стандартный режим RS порта -- он есть у всех операционок. Тогда вам надо установить соответствующий режим RS порта. :) Почитайте доку на утилиту "stty" ;)
По моему вам не надо дёргать за модемные линии (ioctl() и qnx_ioctl())
:)
уточнил -- этот режим называется HARWARE FLOW CONTROL. Режим стандартный.
Это был ответ(без цитаты :) ) на следующий вопрос Максима Ананских:
Я не совсем понял сути вопроса... Как же тогда стандартный драйвер работает с обычным модемом? Насколько я понимаю, при включенном аппаратном согласовании DTE должен выставить сигнал RTS на время передачи, на что DCE отвечает сигналом CTS. Для преобразователя достаточно соединить CTS с RTS...
Я знаю что существует аппаратный контроль потока передачи, но система аппаратного контроля потока передачи микросхемы 16с550("стандартный" UART) не даст мне той временной диаграммы которую
я показал выше......
Извините за путанницу которую я внёс в обсуждение ..... второй день на форуме :)
Первоначально опубликовано Evpator
Да вы правы .... хотелось - бы решить проблему в рамках существующих
возможностей драйвера. Мне всё-же кажется, что я либо чего-то недочитал, либо чего-то недопонял, не смотря на то, что покопался
уже достаточно много. Мне всё ещё неверится что драйвер компорта под
QNX не может помочь мне точно определить момент передачи данных.
Ух. Вам вместе с системой поставляется исходный код драйвера ком-порта. Берите его и читайте.
В том месте, где нужен out8() - добавте devctl() вызов.
Код для out8() (ioctl) возьмите из NetBSD или, на худой конец, из лялиха...
Первоначально опубликовано dmi_a
[QUOTE=Evpator]
Ух. Вам вместе с системой поставляется исходный код драйвера ком-порта. Берите его и читайте.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме