Почему я теряю данные из последовательного порта, когда я перезагружаю свой компьютер?

У меня есть приложение, которое контролирует последовательный порт. Данные отправляются от другой стороны только, когда порт открыт, но я узнал, что теряю некоторые данные, когда я перезагружаю свой компьютер. Почему это?

Компьютер выполняет Windows XP.

2
задан 18.01.2010, 01:26

3 ответа

Это вызывается Windows, открывающим порт во время начальной загрузки в течение очень короткого времени (под половиной секунды). Во время этого процесса все последовательные порты открыты для обнаружения устройств ввода данных такой мышь.

Решение состоит в том, чтобы просто сказать Windows не делать это, этот способ, которым Вы не теряете свои данные, так как это не получается. Мы можем сделать это путем изменения boot.ini и обеспечение, что мы используем /fastdetect переключатель. Однако это будет уже идти в большинстве случаев, поскольку это включено по умолчанию в Программе установки Windows. Я нашел решение здесь, статья также включает informatation о NT и 9x (существуют различные решения).

7
ответ дан 08.12.2019, 04:59

Я утроил бы проверку, что Ваш CTS правильно устанавливается и обрабатывается (а именно, это, оба конца знают, что они, как предполагается, используют аппаратное управление потоками). Удивительно редко для любого разобраться в этом, и еще более редкий для некоторого датчика, чтобы иметь достаточно буфера, чтобы смочь сохранить все его результаты, пока машина перезагружает, поэтому даже если управление потоком работает правильно, довольно возможно, что датчик отбрасывает некоторые данные (или самый старый или новейший, в зависимости от его дизайна), потому что Ваша машина занимает слишком много времени перезагружать и подтверждать CTS.

1
ответ дан 08.12.2019, 04:59

Существует также инструмент командной строки, доступный для отключения сканирования на выбранных COM-портах в реестре, если Вы не хотите вручную редактировать файл boot.ini.

0
ответ дан 08.12.2019, 04:59

Теги

Похожие вопросы