|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2014, 09:40 | #1 |
Регистрация: 12.11.2012
Сообщений: 7
|
DMX сигнал отображается не весь
Здравствуйте, уважаемые форумчане!
Есть устройство - источник DMX сигналов, после стоит RS485-USB преобразователь, с помощью которого данные передаются в виртуальный COM-порт компьютера. При приёме DMX сигнала столкнулся с проблемой отображения байт. Должно приходить 512 байт (каждый отображается как FE, 7A и т.д.), скорость передачи довольно-таки высокая (чтобы не приходил хлам приходится ставить максимальную скорость COM-порта - 256000 бит/с), соединительный кабель короткий. При подаче устройством DMX одинаковых байт на все 512 адресов, моя программа отображает динамическое изменение сигнала с каждым нажатием на устройство, хотя отображает лишь часть информации, но если отсылать данные по адресам отдельно, то программа не воспринимает эти данные. С DMX передатчиком всё в порядке, всё отображается, как надо, если пользоваться программой terminal для COM-порта, единственное что напрягает в этой программе -подвисание при работе на такой скорости. Вопрос: как мне обрабатывать эти байты и принимать в первоначальном виде (числами от 0 до 255 - желательно, но необязательно)? Ну а теперь моё программное решение: Мне необходимо принимать все 512 байт так, чтобы каждый находился в своей ячейке. Для приёма сигнала использую компонент BComPort, код программы прилагаю: Код:
|
03.06.2014, 16:38 | #2 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
2- чтобы хлам не приходил, контролируйте CRC 3- что значит приходится? На передатчике и приемнике скорости равны должны быть. Цитата:
Код:
2- отображение из потока приема идет сразу в VCL компонент без буферизации 3- данные накапливаются и накапливаются в визуальном компоненте, память отжирается и отжирается Да за один вывод из потока приема непоредственно в визуальный VCL по рукам вам надавать, а лучше в тиски. Принятые данные передавайте в отдельный поток, коотрый и пусть занимается обработкой и визуализацией. В сам же визуальный модуль лучше выводить последние, ну тысячу байт, а все принятые данные лучше писать на диск, в файл дозаписывать как и положено при архивации трендов.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
03.06.2014, 18:21 | #3 |
Регистрация: 12.11.2012
Сообщений: 7
|
Это да, но винда и компонент не позволяют выставлять что-то большее.
А может быть вы подскажите, как это осуществляется? А по поводу потоков, так ни один пример из тех, что в сети нормально не заработал. Хотелось бы программу, которая не будет зависеть ничем от ОС (будь то XP или 8.1). Помогите с реально рабочим примером с потоками и буферизацией, желательно с комментариями, хочется разобраться. |
03.06.2014, 18:55 | #4 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Про склеенные пакеты http://programmersforum.ru/showpost....31&postcount=4
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
03.06.2014, 23:13 | #5 |
Регистрация: 12.11.2012
Сообщений: 7
|
Большое спасибо! )
|
04.06.2014, 07:41 | #6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
нема за що.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Звуковой сигнал (писк) | aank10 | Общие вопросы C/C++ | 2 | 05.05.2011 11:37 |
Сайт не отображается в IE и Opera. Отображается только в FireFox. | Roman_K | HTML и CSS | 3 | 03.02.2011 22:32 |
Прочитать сигнал с микрофона | Impuls1989 | Общие вопросы C/C++ | 0 | 22.06.2010 19:35 |
Звуковой сигнал | Eugenio | Microsoft Office Excel | 9 | 18.03.2009 17:24 |
сигнал WindowsBeep | ben95 | Общие вопросы Delphi | 8 | 13.05.2008 19:12 |