-
Установил USB modem дрова для мобильника, создался COM14 , в свойствах указана скорость 230400.
Насколько я понял, такие операции как: GetCommState, SetCommState абсолютно по барабану для виртуальных COM портов создаваемых USB дровами.
Я проводил тесты на скорость при чтении прошивки, действительно читает в два раза быстрее чем при скорсоти 115200 для обычных COM портов.
Но когда вызываешь GetCommState, то эта функция выдает либо 38400, либо предыдущее значение, которое было установлено SetCommState, любое значение кроме 230400
То есть возникает вопрос, как все это работает для вирутальных COM портов USB дров?
-
> То есть возникает вопрос, как все это работает для вирутальных > COM портов USB дров?
Порт будет работать с той скоростью которую ты уставовишь. Если конечно он её поддерживает и девайс тоже способен прожевать данные в буфере.
-
> Порт будет работать с той скоростью которую ты уставовишь. > Если конечно он её поддерживает и девайс тоже способен > прожевать данные в буфере.
Если бы это было так для виртуальных COM портов, я бы здесь не писал.
Прочитай внимательно.
Вопрос в том, что он работает на 230400 и все.. На GetCommState, SetCommState не реагирует и внимание не обращает.
-
> Если бы это было так для виртуальных COM портов, я бы здесь > не писал.
Я и USB виртуальные использовал и TCP-IP. Ты коды ошибок проверяй что тебе SetCommState возвращает, может драйвер не держит твою конфигурацию. Имей в виду подавляющее большинство видмых мною USB держат ограниченное количество настроек.
-
> Я и USB виртуальные использовал и TCP-IP. Ты коды ошибок > проверяй что тебе SetCommState возвращает, может драйвер > не держит твою конфигурацию. Имей в виду подавляющее большинство > видмых мною USB держат ограниченное количество настроек. >
В том-то и дело, что все отрабатывается нормально, у меня проверка есть:
if not SetCommState(ComFile, DCB) then Result := False;
-
> POP (02.03.08 15:25) [4]
Ну и что тебя смущает? Он твои настройки принял, запомнил (чтоб потом отдать по GetCommState) и забил на них болт. Он же виртуальный, ему можно.
-
> Ну и что тебя смущает? Он твои настройки принял, запомнил > (чтоб потом отдать по GetCommState) и забил на них болт. >
Да не должен. Надеюсь автор в курсе, что SetComState работает только для его приложения ? И на параметры в диспетчера устрояств не влияют ? Для изменения настроек служит SetDefaultCommConfig.
|