Исправлены многочисленные проблемы BSOD. возникающие при обработке управляющих запросов, для чего доработан метод записи завершения обмена с внешним устройством.
Исправлена ошибка, проявлявшаяся, если программа устанавливает состояние выходных квитирующих сигналов DTR и RTS. а затем читает его. Если операция чтения выполняется до того, как устройство сообщило об изменении указанных сигналов, драйвер возвращал их предыдущее состояние вместо только что установленного. После исправления, драйвер всегда возвращает состояние, адекватное предыстории его переключения.
Эта ошибка приводила к задержке переключения сигналов DTR и RTS. заметной для программного обеспечения. Такая задержка не характерна для UART на шинах ISA, PCI, LPC, поэтому ее устранение улучшило совместимость CP2102.
Исправлена ошибка, проявлявшаяся, если программа устанавливает состояние выходных квитирующих сигналов DTR и RTS. а затем читает его. Если операция чтения выполняется до того, как устройство сообщило об изменении указанных сигналов, драйвер возвращал их предыдущее состояние вместо только что установленного.
После исправления, драйвер всегда возвращает состояние, адекватное предыстории его переключения. Эта ошибка приводила к задержке переключения сигналов DTR и RTS. заметной для программного обеспечения. Такая задержка не характерна для UART на шинах ISA, PCI, LPC, поэтому ее устранение улучшило совместимость CP2102.
Откорректирован статусный код, возвращаемый функцией DeviceIoControl() и другими функциями Com API в случае, если устройство извлечено. Для корректной визуализации причины ошибки, операция GetLastError() в этом случае возвращает статусный код Error_Access_Denied, сообщающий о невозможности доступа к устройству.
Ранее возвращался код Error_Bad_Command, соответствующий передаче неверной команды программным обеспечением и неадекватный данной причине ошибки.