Обычно делают так (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Antimouse 07 августа 2003 г. 09:57
В ответ на: Win32 API работа с COM портом в C++ отправлено =DIMA= 07 августа 2003 г. 09:02

1. Обмен организуется с синхронизацией, то есть данные идут
пакетами (или векторами), которые имеют синхробайт.
Синхробайт изменяется от пакета к пакету на 1 и циклится
после 0хFF на 0х00. Преимущества этого способа: если пропали
данные, то синхронизация нарушается и ты это детектируешь,
причем знаешь, сколько посылок/векторов пропало и можешь
корректно привязаться ко времени в новых принятых векторах.
Итак: данные принимаются в буфер как есть, затем этот буфер
обрабатываешь и выделяешь в нем вектора. Вектор состоит из
N-байт. Какой хочешь вектор, такой и передавай.

2. О распределении байтов (char) в векторе. "Уложи" байты в вектор
так, чтобы определив указатель на DWORD "брал" из вектора нужные
16 бит данных для соответствующего канала. Как вариация могут
использоваться другие типы. Опрерации их приведения к int и т.п.
тривиальны.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru