2008-09-17 5 views
1

Я использую библиотеку RxTx поверх usbserial на дистрибутиве Linux. Похоже, что RxTx lib ведет себя совсем по-другому (плохо), чем то, как работает над последовательностью.Запись данных через RxTx с использованием usbserial?

Одна из моих самых больших проблем заключается в том, что RxTx SerialPortEvent.OUTPUT_BUFFER_EMPTY не работает на linux over usbserial.

Как узнать, когда я должен писать в поток? Любые индикаторы, которые я, возможно, пропустил?

До сих пор мой опыт написания и чтения одновременно не был замечательным. Кто-нибудь знает, если я должен заблокировать обработчик DATA_AVAILABLE при вызове, когда я пишу в потоке? Или RxTx принимает одновременное чтение/запись?

Заранее спасибо

ответ

1

Использование RxTx через USB-последовательный нельзя установить notifyOnOutput истину в противном случае он блокируется полностью.

Я научился этому трудному пути. Эта проблема документирована на нескольких веб-сайтах через Интернет.

Я запускаю его в Linux, и я считаю, что это проблема только с Linux, хотя я не могу это подтвердить.

Что касается ссылки, которую вы мне дали ... Я видел примеры SimpleReader и SimpleWriter, но они не представляют собой приложение реального мира. Это не многопоточный, предполагает чтение имеет полную информацию, необходимую вместо буферизации читает и т.д.

Спасибо,

Jeach!

+0

Я удалил свой ответ, потому что он выглядел как лучший. – Chris 2009-02-15 18:10:57

4

(возможно, немного не по теме, но здесь идет)

Я не знаком с этой конкретной библиотекой, но я могу заверить вас от тяжелого опыта (я работаю в системах безопасности (например: аппаратные устройства безопасности), где широко используется RS-232), что не все USB-последовательные преобразователи рождаются равными. Многие из таких устройств должным образом не эмулируют все линии RS-232, и многие даже не обрабатывают никаких сообщений без контроля потока. Прежде чем обвинять библиотеку, попробуйте подтвердить, что аппаратное обеспечение фактически выполняет то, что оно должно делать.

Не желая утверждать конкретный продукт или бренд, лучший (как в: наименее глючный) USB-последовательный преобразователь, с которым я столкнулся годами, - это USA-19HS.

+0

Keyspan выкупил Tripp-Lite, который, похоже, не верит в постоянные ссылки. > :(Вот новая html-ссылка: http://www.tripplite.com/en/products/model.cfm?txtModelID=3914 – 2009-02-20 22:37:28

Смежные вопросы