トップページ > dsPIC入門 > Visual Studio C++でシリアル通信(4)

シリアル通信アプリケーションを作る(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("エラー");
 }
}





前へ   戻る