我正在尝试实施一个安全系统作为我的微控制器学期项目的一部分。我几乎完成了软件方面的工作。我只需要设计一个 GUI,作为我的安全系统的指示器或警报设备。微控制器利用传感电路检查系统是否被破坏,并将警报信号串行发送到 PC。我正在使用 C++ 从 PC 串行端口读取数据,整个过程运行良好。但是,我是在基于控制台的环境中进行的。这就是我所知道的一切。我正在学习成为一名电子工程师。:P
然而,这是不可接受的,我需要为我的项目设计一个 GUI。
问题 1:我是否可以将现有代码与 GUI 集成?我已经用谷歌搜索了这个,但运气不佳。所有的答案似乎都指向 Qt 等外部库的方向。这有点可怕,因为我没有很多时间。
问题 2:正如我之前提到的,我对必须使用外部库等的想法有点害怕,所以我尝试使用基于 Visual C++ 的 Windows 窗体应用程序在 Visual Studio 上制作 GUI。我使用了工具箱中的串行端口实用程序。我无法以这种方式从 COM 端口读取数据,但我可以将数据写入它就好了。
这是表单的样子:
我试图在文本框中显示从串行端口读取的数据以响应按钮按下。这是我用于按钮的代码:
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e)
{}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
this->serialPort1->PortName = "COM1";
this->serialPort1->Open();
this->serialPort1->BaudRate = 9600;
try
{
this->textBox1->Text=this->serialPort1->ReadLine();
}
catch(TimeoutException^)
{
this->textBox1->Text="Timeout Exception";
}
this->serialPort1->Close();
你能告诉我我做错了什么吗?我是新来的。这是我的首选方法,顺便说一句。