Страница 1 из 1

9-бит данных по RS-232

Добавлено: Пн фев 22, 2010 23:28:47
rlc
Добрый день!
Для связи пк с контроллером использую билдер5 с библиотекой TMS Async32.
При 8-и битных данных всё в порядке. :)
Но вот появилась задача передать 9-и битные данные.
со стороны мк - решается просто ...
а вот со стороны компа - затык.
кто знает решение - подскажите!
Буду признателен за науку.

Добавлено: Вт фев 23, 2010 00:01:34
Сэр Мурр
А что, два проследовательных байта комп не воспринимает?

Добавлено: Вт фев 23, 2010 13:26:39
Секретный кот
Сэр Мурр писал(а):А что, два проследовательных байта комп не воспринимает?

9-битные данные часто используются для передачи адресной информации, 2 обычных байта здесь ничем не помогут :wink:

Добавлено: Вт фев 23, 2010 16:22:00
xVekx
скорее всего класс отвечаюший за принятия инфы на компе не правильно написан
вот сылки =)).
http://www.pcports.ru/SerialGate.php
http://vsokovikov.narod.ru/New_MSDN_API ... tr_dcb.htm

Добавлено: Вт фев 23, 2010 17:04:45
WildCat
а слепить два байта в 16битное слово, а потом откусить от него 9 бит, нельзя?

Добавлено: Вт фев 23, 2010 19:33:44
BCluster
подревнее 5 билдера ниче не нашли?))

в чем собственно затык? не можете выставить 9 бит или выставляете и нихрена не работает?

Добавлено: Вт фев 23, 2010 20:11:27
Секретный кот
WildCat писал(а):а слепить два байта в 16битное слово, а потом откусить от него 9 бит, нельзя?

И как будем "объяснять" контроллеру, какие байты слеплять, а какие не надо? :))
(т.к. за 9-битным адресом могут идти простые байты данных) Совершенно неоправданный гемор.

Добавлено: Вт фев 23, 2010 20:33:15
rlc
билдер 5 - ну это в силу привычки...:)
передавать два по 8 - понятно...но надо именно 9 бит (9-флажок)
чтоб в потоке различать байты

Добавлено: Вт фев 23, 2010 21:20:53
Murav
9-битные данные скорее всего не поддерживаются контроллером RS-232 в компьютере. Например в довольно распространённой микросхеме IT8712F есть поддержка только 5,6,7 или 8бит.
Так что придётся передавать два байта.

Добавлено: Ср фев 24, 2010 17:35:22
Microtech
Как-то делал на 16С550 управление 9-ым битом, взводя и снимая бит четности, перед посылкой каждого байта. Как именно не вспомню, но работало.

Добавлено: Пн мар 08, 2010 21:26:33
rlc
BCluster писал(а):подревнее 5 билдера ниче не нашли?))


ну пока хватает и пятого...:)
привык я к билдеру.

тут ещё такой вопрос...
можно ли, получив оцифрованные данные разных процессов завести их в какую-нить программу математического анализа?
чтоб там графики построились, можно было бы их сравнить?

Добавлено: Пн мар 08, 2010 23:11:02
Meteor
Можно, только надо знать что куда совать и как трактовать.
Обычно разумнее всего начать с протокола обмена. В нем оговорить представление данных. Затем написать прогу для записи в файл. Например файлы *.dat хорошо интертрепируются матлабом

Добавлено: Вт мар 09, 2010 01:15:46
BCluster
Посмотрел сейчас в .нет, тож самое, 5, 6, 7, 8 бит. Увы по человечески вряд ли удастся это сделать

Насчет математических программ, например можно использовать MatLab API.
http://www.codeproject.com/KB/cpp/matlabeng.aspx

Добавлено: Ср мар 10, 2010 20:58:30
rlc
API меня пугает...я не настолько крут... :cry:
собственно поэтому для работы с компортом и использую готовую компоненту....

Добавлено: Ср мар 10, 2010 22:16:47
BCluster
Нуууу... )))) Зачем так, АПИ это просто ) Ничего не мешает попробовать ) Если будут вопросы - пиши(те) (: