Virtual USB Com port makes my C# control application freeze and crash when I single-step the microcontroller with the USB-device
-
I have a C# control application that communicates via USB (it shows up as a Com port in the Device Manager, but the electrical interface is USB, not RS232) with a development board with a microcontroller from ST Microelectronics (the driver I use is automatically installed by Windows 10 or Windows 11). Sometimes I need to debug and single-step the microcontroller and when I do, the C# application freezes for a long time and then usually eventually crashes when the Com port finally disappears and my Com connection is lost. Is there anything I can do to handle this a little more gracefully? It would be great if the Com port connection could simply get disconnected (instead of freezing the application) and the Com port disappears and then it could try to reconnect every second, in case the single-stepping has stopped and the microcontroller is running normally again. I'm programming in .NET 2.0 and I communicate using the System.IO.Ports.SerialPort class.
-
I have a C# control application that communicates via USB (it shows up as a Com port in the Device Manager, but the electrical interface is USB, not RS232) with a development board with a microcontroller from ST Microelectronics (the driver I use is automatically installed by Windows 10 or Windows 11). Sometimes I need to debug and single-step the microcontroller and when I do, the C# application freezes for a long time and then usually eventually crashes when the Com port finally disappears and my Com connection is lost. Is there anything I can do to handle this a little more gracefully? It would be great if the Com port connection could simply get disconnected (instead of freezing the application) and the Com port disappears and then it could try to reconnect every second, in case the single-stepping has stopped and the microcontroller is running normally again. I'm programming in .NET 2.0 and I communicate using the System.IO.Ports.SerialPort class.
If you start "locking up" the device, then the app needs to be able to make async calls and perform the associated error handling. Otherwise, it "freezes".
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I