Enviando a string Gcode correta para uma porta serial?

Estou tentando enviar o gcodeg28 para minha impressora 3D RepRap através da linhaport.Write("g28");.

Meu programa se conecta à porta serial direita, no entanto, quando tento enviar as informações como string, o acesso à porta COM é negado.Isso é estranho porque a porta Serial estava aberta antes de enviar o Gcode para ela. Ele até enviou alguns dados de volta. Qual é o problema lá e como eu poderia consertá-lo?

Abaixo estão as linhas de código que estou usando. A lista de comandos do gcode está disponível nestepágina.

Eu tentei adicionar um"\n" no final da string, mas não funcionou.

    //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);
        bool homeall = default(bool);
        DA.GetData(5, ref homeall);

        SerialPort port = new SerialPort(selectedportname, selectedbaudrate, Parity.None, 8, StopBits.One); 

        port.DtrEnable = true;   
        port.Open();             

        if (connecttodevice == true)
        {
            port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
            DA.SetDataList(0, myReceivedLines);
        }

        if (homeall == true)
        {
            port.Write("g28");
        }

    }

questionAnswers(1)

yourAnswerToTheQuestion