/// <summary> /// /// </summary> /// <param name="friendly"></param> /// <returns></returns> static public UsbSerialPort FindUsbSerialPort(string friendly) { UsbSerialPort usbPort = null; int timeoutCount = 20000; while (usbPort == null && --timeoutCount != 0) { //Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, new Action(delegate { })); Application.DoEvents(); foreach (var port in GetPorts()) { if (port.FriendlyName == friendly) { usbPort = port; break; } } //Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, new Action(delegate { })); //Thread.Sleep(500); } return(usbPort); }
/// <summary> /// /// </summary> /// <param name="vid"></param> /// <param name="pid"></param> /// <returns></returns> private List <UsbSerialPort> FindUsbPort(string vid, string pid) { return(UsbSerialPort.FindUsbSerialPort(vid, pid)); }