Jump to content
Форум по продукции MOXA

alloy

Пользователи
  • Posts

    8
  • Joined

  • Last visited

Posts posted by alloy

  1. Ну да, только это называется управлением логическим уровнем, и используя разные пины (не обязательно предназначенные для управления потоком) можно получать +12, 0, -12 (условно говоря, в зависимости от драйвера), но уж никак не управлять собственно самим уровнем. И, помимо наличия пинов для управления потоком - в 232 есть собственно break в явном виде, которого нет в 485. А 485 с break - это уже dmx какой-то получается по физике.

    под "управлять уровнем" я имел ввиду - задавать значение "1" или "0" в нужный момент, а не только посылать в буфер последовательности байт )))

     но не сложилось

    DMX -  именно это я и пытался сделать с помощью СР-132 ))) но не сложилось видимо, а получилось на китайском конвертере USB-RS485 с FTDI + MAX внутри

  2.  

     

    Мда? То есть можно сформировать скажем +11В, а можно и +12? Если не секрет - и какой драйвер позволяет так делать (я про микросхему)?

     

     

    почти так, если не ошибаюсь по напряжениям - для ком-порта 12 В, соответственно можно получить +12В или 0В на конкретном выводе, например DTS

     

    все подробности в гугле ))) очень много букв ) под ДОС раньше совсем все прост было, пишешь в порт значение, каждый бит которого соответствует регистру порта

  3. Переключать скорость передачи - однозначно не получится (по скорости переключения). Подразумевалось, что эту посылку мы будем высылать в шлейф из второго порта, с заранее преднастроенными параметрами.

     

    По столь крутой модели - вот не подскажу..

     

    как то все сложно ((

     

    а вообще можно как-то программно управлять уровнями на выходе порта?

  4. Есть предложение всё таки попробовать передавать требуемое кол-во 0, только делать это на другой (проще - на пониженной) скорости, дабы со стороны 485 это выглядело как бы "ошибкой"...

     

    тоже вариант, только "переключение скоростей" у меня почему-то довольно медленно срабатывало ((

     

    п.с. может кто научит - как посмотреть все это дело осцилографом, есть под рукой GDS-820 )

  5. тогда просвети, т.е. если я так сделаю 

     

    int fd = open("/dev/ttyS0", .... );

    ...

    uint8_t buff [12];

    bzero( buff, sizeof(buff) );

    write( fd, buff, sizeofg(buff) )

     

    То на уровне физики у меня будет сформировано 12 посылок, и каждая из них будет обернуты в старт-стоп биты? ( и биты ли) 

    И кто в этом случае будет выступать в качестве признака пустого канала?  

     

    Ну или если много буков - то ткните в первоисточник.

    Заранее благодарен.

     

    именно так все и будет )) еще может добавиться бит четности, все как и в 232 - стартовый бит + биты данных (5, 6 или 8) + бит паритета (0 или 1) + стоповый бит (1 ,1.5 или 2)

     

     

    "первоисточник" в гугле ))

     

     

  6. Имеется плата CP-132EL, для обмена  по rs485 с внешним устройством необходимо в начале передачи сформировать сигнал BREAK длительностью 120-150 микросекунд. Функция sio_break_ex() принимает длительность в миллисекундах. Не подскажите ли как можно "победить"? Возможно есть другие пути решения задачи. Спб.

×
×
  • Create New...