Reopening serial port fails if not closed properly with CloseHandle

后端 未结 6 902
情话喂你
情话喂你 2021-01-03 12:06

I am working with USB device on Windows that is seen as a virtual serial port. I can communicate with the device using CreateFile and ReadFile functions, but in some cases m

6条回答
  •  生来不讨喜
    2021-01-03 12:49

    I agree with both previous posts.

    1. This is not a normal situation.
    2. Unplugging the USB device usually helps.

    This problem is related to the glitches in the FTDI driver, which is responsible for implementing a virtual COM port. On the other hand those "glitches" are related to various malfunctions of the USB devices. (Of course this doesn't justify the FTDI driver).

    BTW there're several other known problems with some FTDI drivers:

    • Sometimes call to CloseHandle just hangs the calling thread.
    • Sometimes also the application is still "visible" in the task manager, even after it's closed. Task manager can't terminate the application, and the debugger can't be attached to it. Its EXE file is locked (can't be erased).

    Usually unplugging the USB device immediately helps in those situations. The FTDI driver, which seems to be "waiting for something" awakes.

提交回复
热议问题