21.10.2019, 21:23 | #1 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
DMX 512
Добрый день.
Может кто то имел опыт общения с протоколом DMX512? Протокол вроде не сложный, но готовых программ на Си не нашел. Может кто-нибудь что посоветует? Спасибо! |
21.10.2019, 22:41 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: DMX 512
Цитата:
Судя по вики, описания появились. Судя по гуглу, появились и библиотеки и программы на разные платформы. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.10.2019, 20:32 | #3 |
Новичок
Регистрация: Oct 2019
Сообщения: 10
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
DMX 512 на RS485
День добрый, интересует вопрос , есть ли возможность организовать (программным способом) протокол DMX-512 на одном из портов RS485.
Было бы интересно чтоб FBD появился с таким функционалом. |
22.10.2019, 21:20 | #4 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
Планирую использовать пример Signetics для ModbusRTU. Есть несколько непонятных моментов:
1. Скорость передачи if(serial.openDevice(SERIAL_DEVICE,B250000,1,0,8,2,rlSerial::NONE) < 0) 2. Сигнал Break длительность 88мкС int ret = serial.writeBlock(00xh, 2); 3. Сигнал MaB длительность 8мкС ???https://forum.segnetics.com/images/s...etics/help.gif 4. Далее функция SendMessage int ret = serial.writeBlock(Msg, 513); В остальном вроде все должно получиться https://forum.segnetics.com/images/s...cs/biggrin.gif |
22.10.2019, 21:24 | #5 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
По протоколу нашел удобное описание, там все подробно написано.
|
23.10.2019, 08:32 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: DMX 512 на RS485
Цитата:
Добавлено через 3 минуты Можете конкретизировать, что именно вам непонятно в этих моментах? Да и сами моменты привести более развёрнуто для лучшего понимания ваших вопросов. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
23.10.2019, 11:28 | #7 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
1. Скорость передачи
if(serial.openDevice(SERIAL_DEVICE,B250000,1,0,8,2,rlSerial::NONE) < 0) Могу ли я поставить скорость 250000? Будет работать? 2. Сигнал Break длительность 88мкС int ret = serial.writeBlock(00xh, 2); Здесь 2 нулевых фрейма, думаю все правильно. 3. Сигнал MaB длительность 8мкС Здесь 8 мкС, не понимаю как передать высокий уровень длительностью меньше 1 фрейма? 4. Далее функция SendMessage int ret = serial.writeBlock(Msg, 513); Как подправлю полный код программы - выложу |
23.10.2019, 11:34 | #8 |
Новичок
Регистрация: Oct 2019
Сообщения: 10
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: DMX 512
|
23.10.2019, 16:33 | #9 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
Наработок, как таковых нет. Начал править пример под протокол DMX. В соответствии с описанием (выше по тексту). Жду прихода DMX декодера для испытаний.
|
23.10.2019, 16:55 | #10 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: DMX 512
Вот только не пойму на кои ухи вам Матрикс. Малина - недорого и оптимально.
|
23.10.2019, 16:57 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: DMX 512
Цитата:
Фрейм - это бит, байт или посылка пакета целиком? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.10.2019, 13:23 | #12 | |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
Цитата:
Добавлено через 1 минуту Фрейм - это байт из 8 бит + 1 стартовый +2 стоповых. Вся посылка 513 фреймов. Добавлено через 4 минуты Работа с DMX не единственная и не основная задача. Порт свободен, а лишних выходов для RGB нет! |
|
24.10.2019, 13:43 | #13 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: DMX 512
|
24.10.2019, 15:26 | #14 |
Новичок
Регистрация: Jun 2014
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: DMX 512
|
24.10.2019, 17:56 | #15 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: DMX 512
Ну тогда Вам точно понадобится для порта именно 250000 bps. Не знаю кто рулит уартом в Матриксе, но думаю до 1 мегабита должны позволять. Современные драйверы 485-го могут гораздо больше.
|
25.10.2019, 12:09 | #16 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: DMX 512
Цитата:
Цитата:
Гугл, запрос "c++ выставить высокий уровень на UART". Работать с поиском для программиста - это прямо как "жы-шы пишы с Ы". __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||