Hi all! Решил на базе моста USB->COM соорудить передатчик для DMX512. Из особенностей протокола DMX512 следует отметить нестандартную скорость (250Кбит/с) и наличие маркера начала пакета BREAK (импульс низкого уровня t=88мкс). С нестандартной скоростью проблем не возникло, мой мост (ОTI6858) поддерживает такую скорость. А вот с передачей маркера BREAK возникла проблемка, длительность передачи байта на скорости 250Кбит/с составляет 44мкс, то есть BREAK так не передать... Я решил на время передачи BREAK снизить скорость передачи до 115,2Кбит/с через SetCommState, но SetCommState жестко тормознутая функция(выполняется 30мс!). Таким образом для передачи пакета 2-а вызова SetCommState занимают 60мс!, это ни куда не годиться.
Вопрос к тем кто заморачивался с СОМ портами и DMX512, как малой кровью без тормозов передать BREAK?
|