2010-12-09 32 views
0

je dois prendre une connexion port série déjà ouvert (par exemple, COM1 relié à un dispositif) et demander à son baudrate, bit de parité, bit d'arrêt, etc.Comment instancier une connexion ouverte série

Alors, est il un moyen de prendre toutes les connexions ouvertes en série du système d'exploitation et les instancier, comme:

SerialPort myTestSP = "Windows.SerialPorts[1]"; 
int myTestBR = myTestSP.BaudRate; 

Merci pour votre temps!

Répondre

2

Il n'existe pas de méthode prise en charge pour cela. Vous ne pouvez pas ouvrir un périphérique déjà ouvert (les ports série ne permettent pas le partage).

Des programmes tels que Portmon fonctionnent en injectant un pilote de périphérique dans la pile du port série, et même alors, je suis à peu près sûr qu'il doit le faire lorsque le port est fermé.

Il n'est pas possible d'écrire un tel pilote en C#.

+0

Ok, merci. Ce que j'essaie de savoir, ce sont les paramètres utilisés par une application pour se connecter à un périphérique série (son débit en bauds, son bit de parité, etc.). J'ai essayé des moniteurs série et des renifleurs, mais aucun d'entre eux ne me dit ces paramètres; Je ne veux pas surveiller le trafic, je veux juste connaître les paramètres utilisés pour la connexion, donc si vous connaissez un logiciel qui pourrait me le dire, je l'apprécierais. Merci encore! – MorgoZ

+0

Portmon va le faire. Démarrez simplement Portmon et assurez-vous qu'il écoute sur ce port COM avant de démarrer l'application. Il vous dira tous les paramètres qu'il utilise pour se connecter. –