トップページ > dsPIC入門 > Visual Studio C++でシリアル通信(4)
いろいろな機能…というほどでもありませんが、dsPIC基盤側ができることを全部コントロール してみることにします。前までと同じ要領で、ボタンを5つ配置し、Textを変えておきます。 button1がOpen、button2がClose、button3が左、button4が停止、button5が右…に対応しています。
//**************************************************************************************************
//button1は「Open」ボタン
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
if(serialPort1->IsOpen)
{
MessageBox::Show("すでに開いています");
return;
}
//ポートの設定
serialPort1->PortName = "COM6";
serialPort1->BaudRate = 115000;
serialPort1->Open();
}
catch(SystemException^)
{
MessageBox::Show("ポートを開けませんでした。");
}
}
//**************************************************************************************************
//button2は「Close」ボタン
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
if(serialPort1->IsOpen == false)
{
MessageBox::Show("すでに閉じてます");
return;
}
serialPort1->Close();
}
catch(SystemException^)
{
MessageBox::Show("エラー");
}
}
//**************************************************************************************************
//button3は「左」ボタン
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
if(serialPort1->IsOpen == false)
{
MessageBox::Show("ポートが閉じています");
return;
}
serialPort1->Write("left");
serialPort1->Write("\r");
}
catch(SystemException^)
{
MessageBox::Show("エラー");
}
}
//**************************************************************************************************
//button4は「停止」ボタン
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
if(serialPort1->IsOpen == false)
{
MessageBox::Show("ポートが閉じています");
return;
}
serialPort1->Write("stop");
serialPort1->Write("\r");
}
catch(SystemException^)
{
MessageBox::Show("エラー");
}
}
//**************************************************************************************************
//button5は「右」ボタン
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
try
{
if(serialPort1->IsOpen == false)
{
MessageBox::Show("ポートが閉じています");
return;
}
serialPort1->Write("right");
serialPort1->Write("\r");
}
catch(SystemException^)
{
MessageBox::Show("エラー");
}
}