/ / Czy istnieje sposób na wykrycie najszybszej prędkości portu szeregowego? [duplikat] - c #, port szeregowy

Czy istnieje sposób na wykrycie najszybszej prędkości portu szeregowego? [duplicate] - c #, port szeregowy

Jak dotąd nie udało mi się znaleźć odpowiedzi,ale chciałem wiedzieć, czy istnieje sposób, szczególnie w języku C #, aby wykryć, jaka jest najwyższa prędkość transmisji, jaką może uzyskać port szeregowy, bez konieczności jego testowania.

Czy jest coś w jego profilu sprzętowym lub coś, co przechowuje dostępne prędkości transmisji dla określonego portu, które C # może zapytać?

Odpowiedzi:

2 dla odpowiedzi № 1

Za pomocą odbicia możesz / powinieneś to zrobić w następujący sposób:

   serialPort = new SerialPort(portName);
serialPort.Open();
object p = serialPort.BaseStream.GetType().GetField("commProp", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(serialPort.BaseStream);
Int32 bv = (Int32)p.GetType().GetField("dwSettableBaud", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public).GetValue(p);

Uwaga: Port zostanie otwarty w celu sprawdzenia ustawialnej prędkości transmisji :)

Zobacz ten post, aby uzyskać więcej informacji na temat sprawdzania prędkości transmisji: Jak programowo znaleźć wszystkie dostępne Baudrates w C # (klasa serialPort)