Страница 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 обычных байта здесь ничем не помогут

Добавлено: Вт фев 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 меня пугает...я не настолько крут...
собственно поэтому для работы с компортом и использую готовую компоненту....
Добавлено: Ср мар 10, 2010 22:16:47
BCluster
Нуууу... )))) Зачем так, АПИ это просто ) Ничего не мешает попробовать ) Если будут вопросы - пиши(те) (: