>А это поможет в решении проблемы? Нет, не поможет. Просто, если в будущем у меня появится перспектива поработать с такими устройствами, сразу от них отказаться. Хотя бы намекни абревиатуру названия этого устройства. Если по существу твоего вопроса, то отследить значение бита четности или его наличие на _ПК_ нельзя, даже зная заранее скорость взаимодействия с устройством. Объясняю почему. Com-порт на ПК перед началом взаимодействия с внешним устройством устанавливается в определенный режим работы: скорость, контроль четности, количество бит в байте, количество стоп-битов и т.п. Com-порт не предназначен, точнее в него не закладывали такой функционал, чтобы на лету можно было менять режим работы в рамках взаимодействия с одним устройством. Автоопределение там тем более не заложено. Более того, пожет получиться такая ситуация: 1)ты установил ком-порт в нужный режим работы 2)получил первый байт от устройства 3)начинаешь переключать ком-порт в другой режим работы 4)пока ты переключал ком-порт, устройство тебе уже успело передать несколько байт, которые ты успешно профукал (пропустил) т.е. время переключения режима ком-порта может быть достаточно большим, чтобы пропустить переданные данные во время самого переключения, особенно это справедливо на больших скоростях передачи данных. Например, перед переключением режима ком-порта процессор может отвлечься на выполнение другой задачи, на этом ты потеряешь драгоценные миллисекунды. Если бы ты программировал микроконтроллеры, то эту задачу можно ещё было бы реализовать с некоторыми оговорками, но на обыкновенном ПК да при условии, что устройство первым начинает обмен (насколько я понял) - утонченное извращение. Реализовать задачу можно, но с очень высокой вероятностью ошибки и пропусками байтов.
|