マイクロコントローラの期間プロジェクトの一環として、セキュリティ システムを実装しようとしています。私はソフトウェアの終わりをほぼ終えました。セキュリティ システムのインジケータまたはアラーム デバイスとして機能する GUI を設計する必要があるだけです。マイクロコントローラはセンシング回路を利用して、システムが侵害されたかどうかを確認し、アラーム信号を PC にシリアルで送信します。C++ を使用して PC のシリアル ポートからデータを読み取っていますが、すべてがうまく機能します。ただし、コンソールベースの環境で実行しています。私が知っているのはそれだけです。私は電子技術者になるために勉強しています。:P
しかし、それは受け入れられません。プロジェクト用の GUI を設計する必要があります。
質問 1: 既存のコードを GUI と統合できる方法はありますか? 私はこれをすでにあまり運がなくてもグーグルで検索しました。すべての答えは、Qt などの外部ライブラリの方向性を示しているようです。時間があまりないので、これはちょっと怖いです。
質問 2: 前述したように、外部ライブラリなどを使用する必要があるという考えに少しおびえているので、Visual C++ ベースの Windows フォーム アプリケーションを使用して、Visual Studio で GUI を作成しようとしました。ツールボックスの serialport ユーティリティを使用しました。その方法で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();
私が間違っていることを教えてもらえますか?私はこれが初めてです。これは私の好みの方法です。