реклама на сайте
подробности

 
 
> Чтение из виртуального COM 9 битовых слов
SergeyAB
сообщение May 12 2013, 21:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 13-11-10
Пользователь №: 60 853



Здравствуйте!
Недавно мне было нужно управлять одним изделием, во внутреннюю структуру которого я не могу лезть и менять, по RS-485 с компьютера на скорости 115200. Я использовал преобразователь на FT232RQ и MAX485, т.е. подключал к USB и отсылал данные через виртуальный COM-порт. Устройство принимало 9-битные посылки (9бит=1 для адреса и 9бит=0 для данных).
Я написал программу используя QT и библиотеку qextserialport-1.2 . Не найдя в сети внятного ответа как слать честные 9бит, я стал использовать бит четности как 9 бит, т.е. устанавливал его как parity MARK при отсылки адреса и parity SPACE для данных. При переконфигурации порта с MARK на SPACE возникала задержка. На осцилографе было видно что данные отсылаются примерно через 1мс после адресного слова.
Но устройство не реагировало на такое промедление и переконфигурация происходила без проблем.

Теперь же я работаю с похожим устройством и мне нужно еще и прочесть ответ на мою посылку, который также состоит из 9-битного адреса и 9-битных данных. Я не могу нормально принять данные, поскольку мне нужно после приема первого адресного байта резко переключить настройки четности.
Как реализовать чтение 9битных посылок, в которых заранее известно что лишь первое слово с 9битом=1, а остальные с 9 битом =0? Или же какой то общий способ чтения честных 9-бит на QT.
Было бы просто супер если это было возможно сделать на QT, ибо я раньше особо не писал на с++ и вообще ничего для компьютера, только AVR,MSP430,STM32,SHARC.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01336 секунд с 7
ELECTRONIX ©2004-2016