My company is using the CP210x USB to UART Bridge VCP Driver (v6.7), and I have discovered that I can reproduce an issue which causes high CPU spikes every 5-10 seconds when reading in data. I have replicated this on multiple PC running Windows 7 x64.
The issue only shows up when setting the COMMTIMEOUTS to the following:
ReadIntervalTimeout = MAXDWORD ReadTotalTimeoutMultiplier = MAXDWORD ReadTotalTimeoutConstant = MAXDWORD - 1
This is a pretty typical way to set the COMMTIMEOUTS structure, as it produces a reading behavior that returns bytes as soon as they are available, from the ReadFile function (as noted in the "Remarks" section here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363190%28v=vs.85%29.aspx ).
This timeout setting is required for our application. Please look into this and let me know if you need any more information.
I have read your post 3 times and must ask:
WHAT spikes, power consumption, throughput, .... ?
Sorry for not being more clear.
When reading in the bytes from the virtual com port, the CPU usage of the PC spikes from 0 to about 25% and then drops back down to 0. This is with a constant stream of data.
is anyone else seeing this behavior?