Сейчас на форуме: Dart Raiden, Alf, bedop66938 (+7 невидимых)

 eXeL@B —› Электроника —› Синхронизация записи в COM порт
Посл.ответ Сообщение


Ранг: 71.9 (постоянный), 4thx
Активность: 0.040
Статус: Участник

Создано: 03 апреля 2017 13:58
· Личное сообщение · #1

Пишу программу, которая выводит звук через COM порт в железку, которая подключена к телефонной линии. Нужно это для автоинформатора. Проблема в том, что железка может принимать только по 200 байт звука, потом она их обрабатывает и передает в линию и ждет следующие 200 и т.д. Никакого приемного буфера в ней нет, синхронизации тоже нет. Нужно точно попадать "в момент", чтобы плата была готова принять новый пакет со звуком и чтобы не было разрывов в голосовом потоке. Как можно синхронизироваться в такой ситуации?



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 03 апреля 2017 16:21
· Личное сообщение · #2

jangle
Развяжись от выходной линии и сделай триггер на начало проигрывания. По триггеру виртуально стартуй на компе такое же проигрывание. А дальше дело техники подобрать за сколько мс до конца проигрывания начинать посылку следующей порции.

-----
старый пень




Ранг: 47.6 (посетитель), 15thx
Активность: 0.030.02
Статус: Участник

Создано: 03 мая 2017 16:05
· Личное сообщение · #3

jangle
DTR RTS ?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 04 мая 2017 00:20 · Поправил: difexacaw
· Личное сообщение · #4

jangle

Многопоточность. Даже железная - один контроллер принимает, второй обрабатывает. Первый интерфейсный, отдаёт данные второму.

Ну а какая есчо может быть синхронизация если вы приняли пакет, начали его обрабатывать и в это время приходящие данные недоступны - они будут утеряны.

С чем и что вы хотите синхронизировать не понятно. Если же время обработки пакета менее длительности одного бита, то никакого смысла в синхронизации(утере данных) нет. Уточните тз.

-----
vx



 eXeL@B —› Электроника —› Синхронизация записи в COM порт
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати