L'accès au port COM5 " est refusé

Je reçois le message d'erreur suivant Access to the port 'COM5' is denied. lors de l'exécution de la méthode ci-dessous à partir de mon formulaire. J'ai essayé d'entrer dans le droit de la vitesse de transmission de 9600 depuis le port de la configuration de mon gestionnaire de périphériques. J'ai également essayé d'accéder aux appareils à travers Portmon mais il y a un bug qui m'empêche d'être connecté. Une alternative pour résoudre ce problème?

      //Fields
    List<string> myReceivedLines = new List<string>();

    //subscriber method for the port.DataReceived Event
    private void DataReceivedHandler(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        while (sp.BytesToRead > 0)
        {
            try
            {
                myReceivedLines.Add(sp.ReadLine());
            }
            catch (TimeoutException)
            {
                break;
            }
        }
    }

    protected override void SolveInstance(IGH_DataAccess DA)
    {

        string selectedportname = default(string);
        DA.GetData(1, ref selectedportname);
        int selectedbaudrate = default(int);
        DA.GetData(2, ref selectedbaudrate);
        bool connecttodevice = default(bool);
        DA.GetData(3, ref connecttodevice);

        port.DtrEnable = true;   //enables the Data Terminal Ready (DTR) signal during serial communication (Handshaking)
        port.Open();             //Open the port
        if (!(port.IsOpen == true)) port.Open();


        if (connecttodevice == true)
        {
            port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
            DA.SetDataList(0, myReceivedLines);
        }
  • Quel type d'appareil que vous essayez d'accès, assurez-vous que rien d'autre est d'essayer d'utiliser l'appareil.
  • Si votre programme se bloque, parfois, que le port soit bloqué en position ouverte, et un redémarrage est nécessaire.
  • Le port est déjà ouvert par un autre processus. Ou de la vôtre, ne cliquez pas sur le bouton deux fois.