Até agora não consegui encontrar uma resposta,mas eu queria saber se existe uma maneira, especificamente com C #, de detectar qual a taxa de transmissão mais alta de uma porta serial, sem precisar testá-la.
Existe algo no perfil de hardware ou algo que armazena as taxas de transmissão disponíveis para uma determinada porta que o C # pode consultar?
Respostas:
2 para resposta № 1Usando a reflexão, você pode / deve fazer o seguinte:
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);
Nota: A porta será aberta para verificar a taxa de transmissão configurável! :)
Consulte esta postagem para obter mais informações sobre como você pode verificar a taxa de transmissão: Como localizar programaticamente todos os Baudrates disponíveis em C # (classe serialPort)