RS232/RS485 |
Ответить | Страница <123 |
Автор | |||
Новичок Присоединился: 30 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 9 |
Опубликовано: 01 Ноябрь 2003 00:06 |
||
Вот, собственно в случае "без оной" и возникает проблема "ручного" разворота(на передачу) линии RS485 при помощи сигнала RTS. Этот сигнал я устанавливаю перед вызовом write(portDevFileDescr ...... А вот когда снять этот сигнал(т.е. вернуть линию в состояние приёма..... это вопрос) В Kylix эту задачу я решил так: bit:=TIOCM_RTS; //устанавливаем сигнал RTS if FRS485_mode = true then ioctl(portfd,TIOCMBIS,@bit); result:=libc.__write(portfd,Buf,Count); //этот код постоянно опрашивает бит пустоты передатчика (TEMT) repeat ioctl(portfd,TIOCSERGETLSR,@status); //если передатчик опустошился, то тогда снимаем сигнал RTS if FRS485_mode = true then ioctl(portfd,TIOCMBIC,@bit); Команду TIOCSERGETLSR, я нашёл когда-то в коде драйвера (она не была нигде документированна) ком порта (Дистрибутив RedHat 7.1) И там(коменты в коде драйвера) было сказано, что мол ребята, если вам нужно работать с RS485, то используйте эту команду..... Вот я и думаю - это как-то неестественно, что в Линуксе это есть, а в QNX столь важную возможность не реализовали. Наверное я ошибаюсь ...... |
|||
Новичок Присоединился: 30 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 9 |
|||
Спасибо вам Всё завершилось пересборкой драйвера я немного подправил код функции : int drain_check(TTYDEV *ttydev, uintptr_t *count) (файл tto.c в исходниках драйвера) int drain_check(TTYDEV *ttydev, uintptr_t *count) { // if the device has DRAINED, return 1 if (dev->tty.waiting_drain) { //грубовато.... , но это работает } } Теперь вызов tcdrain(deviceDescriptor_); блокирует поток на достаточно точный промежуток времени
|
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 28 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 11 |
|||
А данные в это время продолжают поступать? Помните, драйвер многопоточный и ОЧЕНЬ КРИВОЙ!!! Попробуйте снять картинку инструментальным ядром - очнеь многое проясняет. Знаю, что Steinhoff Automation были вынуждены его полностью переписать для своих заказчиков. Можете попробовать связаться с ними... Если есть какие-то конкретные вопросы - ко мне в почту, я попробую задать их автору этого драйвера. Безо всяких гарантий, разумеется. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 28 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 11 |
|||
Загляните сюда, может можно обойтись без модификации драйвера? Google:Groups |
|||
Новичок Присоединился: 30 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 9 |
|||
Попробуйте снять картинку инструментальным ядром - очнеь многое проясняет. ....... Это интересно. Что такое инструментальное ядро? Как этим пользоваться? А ещё лучше, где про это прочитать? Если это есть в документации по QNX6, то подскажите англоязычный эквивалент термина "инструментальное ядро". Спасибо |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 27 Март 2003 Категория: Russian Federation Online Status: Offline Публикации: 240 |
|||
В форуме СТА можно обсуждать любые ОС РВ (не только QNX), а так же применение ОС общего назначения для задач АСУ ТП.
|
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 28 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 11 |
|||
Инструментальное ядро входит только в профессиональную версию системы. Instrumental Kernel. Закажите evaluation version у qss через swd. Там же momentics ide, мощнейщие средства диагностики... DejaView опять же. Посмотрите http://qnx.wox.org/qnx/screenshots/dejaview.gif Хотел показать скриншот, как проводиться диагностика средствами плагинов ide, но пока не нашёл. |
|||
Новичок Присоединился: 30 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 9 |
|||
Ok спасибо |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 28 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 11 |
|||
http://qnx.wox.org/sat/
Вот тут лежат скриншоты SAT. По ним всё сразу видно. |
|||
Ответить | Страница <123 |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |