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

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
rlc
Открыл глаза
Сообщения: 67
Зарегистрирован: Сб мар 10, 2007 12:50:43

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

Сообщение rlc »

Добрый день!
Для связи пк с контроллером использую билдер5 с библиотекой TMS Async32.
При 8-и битных данных всё в порядке. :)
Но вот появилась задача передать 9-и битные данные.
со стороны мк - решается просто ...
а вот со стороны компа - затык.
кто знает решение - подскажите!
Буду признателен за науку.
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

А что, два проследовательных байта комп не воспринимает?
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Сообщение Секретный кот »

Сэр Мурр писал(а):А что, два проследовательных байта комп не воспринимает?

9-битные данные часто используются для передачи адресной информации, 2 обычных байта здесь ничем не помогут :wink:
Даже остановленные часы два раза в сутки показывают правильное время.
xVekx
Встал на лапы
Сообщения: 125
Зарегистрирован: Вс мар 01, 2009 20:41:19

Сообщение xVekx »

скорее всего класс отвечаюший за принятия инфы на компе не правильно написан
вот сылки =)).
http://www.pcports.ru/SerialGate.php
http://vsokovikov.narod.ru/New_MSDN_API ... tr_dcb.htm
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

а слепить два байта в 16битное слово, а потом откусить от него 9 бит, нельзя?
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Сообщение BCluster »

подревнее 5 билдера ниче не нашли?))

в чем собственно затык? не можете выставить 9 бит или выставляете и нихрена не работает?
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Сообщение Секретный кот »

WildCat писал(а):а слепить два байта в 16битное слово, а потом откусить от него 9 бит, нельзя?

И как будем "объяснять" контроллеру, какие байты слеплять, а какие не надо? :))
(т.к. за 9-битным адресом могут идти простые байты данных) Совершенно неоправданный гемор.
Даже остановленные часы два раза в сутки показывают правильное время.
rlc
Открыл глаза
Сообщения: 67
Зарегистрирован: Сб мар 10, 2007 12:50:43

Сообщение rlc »

билдер 5 - ну это в силу привычки...:)
передавать два по 8 - понятно...но надо именно 9 бит (9-флажок)
чтоб в потоке различать байты
Murav
Опытный кот
Сообщения: 877
Зарегистрирован: Чт фев 18, 2010 13:51:56

Сообщение Murav »

9-битные данные скорее всего не поддерживаются контроллером RS-232 в компьютере. Например в довольно распространённой микросхеме IT8712F есть поддержка только 5,6,7 или 8бит.
Так что придётся передавать два байта.
Аватара пользователя
Microtech
Поставщик валерьянки для Кота
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва
Контактная информация:

Сообщение Microtech »

Как-то делал на 16С550 управление 9-ым битом, взводя и снимая бит четности, перед посылкой каждого байта. Как именно не вспомню, но работало.
rlc
Открыл глаза
Сообщения: 67
Зарегистрирован: Сб мар 10, 2007 12:50:43

Сообщение rlc »

BCluster писал(а):подревнее 5 билдера ниче не нашли?))


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

тут ещё такой вопрос...
можно ли, получив оцифрованные данные разных процессов завести их в какую-нить программу математического анализа?
чтоб там графики построились, можно было бы их сравнить?
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Сообщение Meteor »

Можно, только надо знать что куда совать и как трактовать.
Обычно разумнее всего начать с протокола обмена. В нем оговорить представление данных. Затем написать прогу для записи в файл. Например файлы *.dat хорошо интертрепируются матлабом
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Сообщение BCluster »

Посмотрел сейчас в .нет, тож самое, 5, 6, 7, 8 бит. Увы по человечески вряд ли удастся это сделать

Насчет математических программ, например можно использовать MatLab API.
http://www.codeproject.com/KB/cpp/matlabeng.aspx
rlc
Открыл глаза
Сообщения: 67
Зарегистрирован: Сб мар 10, 2007 12:50:43

Сообщение rlc »

API меня пугает...я не настолько крут... :cry:
собственно поэтому для работы с компортом и использую готовую компоненту....
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Сообщение BCluster »

Нуууу... )))) Зачем так, АПИ это просто ) Ничего не мешает попробовать ) Если будут вопросы - пиши(те) (:
Ответить

Вернуться в «Интеграция с ПК»