Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обмануть устройство? [D4, D5, Win95/98]


Страницы:   1 2

Fredericco ©   (2002-10-09 19:26:00) 

Вопрос, я думаю, будет интересен всем.
Кто знает такой протокол DMX512? Кто не знает - это производная от RS-485. RS-485 - усовершенствованный RS-232(обычный СОМ порт). Так вот есть устройство, работающее по протоколу DMX512. Есть плата на компьютере на два 485 порта (внешне 485 выглядит как обычный СОМn). DMX512 - такие же три провода, как и 485 да и сигналы вроде похожи. Продолжительность сигнала бита для DMX512 4 мкс. То есть скорость считывания информации 250Кбит/с.
Что бы устройство работало нужно посылать следующие байты: сперва ноль, на протяжении не менее 88 мкс, затем пауза из единичек не менее 8 мкс и не более 1 с. И потом байт данных, где первый бит стартовый (0), затем 8 бит данных (не важно каких) и два стоповых бита(1). Выходит мы должны отправить :

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Первые нолики (их 22 - 22x4 мкс = 88 мкс) 1 1Пауза из единичек (2x4 мкс = 8 мкс). 0 1 1 0 1 0 0 1 0 1 1Сам байт данных, один стартовай бит, и два стоповых.

Так вот. СОМ порты при отправке данных разделяют их (данные) на пакеты, и добавляют свои биты, стартовый бит которых 0, и (вариант) два стоповых 1. Из-за чего у меня не получается отправить 22 нуля подряд (с остальным нет проблем). Если я посылаю ноль, то фактически на провод уходит 0.00000000.11. И из-за этого устройство не работает.
Если не трудно поделитесь соображениями, а то я уже вообще в тупике.

С уважением Fredericco.


Lendl   (2002-10-10 09:48:00) [21]

Я так разумею:
Во-первых любой СОМ порт можно программно настроить под требуемый протокол обмена (биты, четности, скорости,...).
Во-вторых, я так и не понял какой интерфейс имеет Ваше устройство, работающее по протоколу DMX512.
Ведь три провода - это как раз минимально необходимые сигналы для работы именно(!) с СОМ портом.
У RS485 может быть либо два (half duplex) либо четыре (full duplex) провода, но никак не три!
По-моему Вы просто запутались с интерфейсами, тобишь в трех проводах.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо