通过串行连接发送文件

时间:2019-06-16 19:49:55

标签: .net visual-c++ c++-cli

我试图用Visual C ++编写Windows窗体应用程序,该程序将GCode发送到3D打印机。 GCode可以与任何文本文件读取一样,并且文件的每一行只有一个GCode命令可用于打印机。

我的目标是将文件的第一行/命令传递给打印机,等待打印机的确认,它是一个表示“确定”的字符串,然后移至文件的下一行并将其传递等等。这是我第一次使用Windows Forms应用程序编程,我不确定如何执行此操作。我对代码的想法与该伪代码大致相同,但是如果有更好的方法,我愿意提出建议。

编辑:我已经将代码更新到目前为止。我仍然没有弄清楚如何等待来自串行连接的确认信号“ ok”,或者如何使其在自己的线程中运行。

    String^ fileName = "C:\\LUPrint\\profiles\\graphene\\temp.gcode";
    try
    {
        StreamReader^ din = File::OpenText(fileName);

        String^ str;
        int count = 0;
        while ((str = din->ReadLine()) != nullptr)
        {
            count++;
            this->serialPort->WriteLine() = str;
            // Find way to wait for ack
        }
    }
    catch (Exception^ e)
    {
        if (dynamic_cast<FileNotFoundException^> (e))
            this->textBox1->Text = "File not found";
        else
            this->textBox1->Text = "Problem reading file";
    }

0 个答案:

没有答案