トップページ > 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("エラー"); } }