· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› FIFO буфер COM порта

Посл.отвђт Сообщенiе


Дата: Мар 4, 2004 16:46:29

Возникла проблема, может кто чего посоветует.
Работаю с COM портом через API под W2k. Требуется отслеживать короткие (~5мс) промежетки между байтами при приеме, что означает конец передаваемого пакета. Это сделано через SetCommTimeouts.
Но на некоторых компах вот такая фигня получается, принимается пакет длиной N * Input FIFO Len
Input FIFO Len - размер FIFO который устанавливается в свойствах COM порта (микросхемы UART),
N - целое число.
Т.е. если установлен размер FIFO = 14 байт (максимально возможный, а именно он установлен по умолчанию), то принимается 14/28/в редких случаях 42 байта.
По мере уменьшения размера FIFO вероятность приема неполного пакета снижается. При размере FIFO = 1 или вообще отключенном ошибок не бывает.
Так вот вопрос: можно ли как-нибудь программно (через API или еще как) управлять этой штукой?
Менять соответствующие ключи в реестре не подходит, т.к. чтобы изменения вступили в силу требуется перезагрузка.
А хотелось бы устанавливать свое значение, а по завершении работы программы востанавливать исходное.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.533