none
visual 2010 C++ form serialport 問題 part2 RRS feed

  • 問題

  • 初學者再發一問!

    目前,因為發送資料的那一端
    一次是發送16筆Byte 到電腦的暫存空間

    而發送端內部本身送出資料後沒有\n,所以不能用ReadLine(不知道這樣講對不對)

    我改用ReadByte的方式去接收

    測試可以讀到第一筆資料後,我就用簡單的for 分別存進陣列裡

    也如預期的可以存取,還有顯示資料在textbox上

    我想問問各位前輩,form有什麼方法,可以一直接收並更新資料?


    private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {

     unsigned char k[16];
     if(this->MyserialPort->IsOpen){
     // Reset the text in the result label.
     this->textBox1->Text = String::Empty;
     // this will read manually
     try{

     for(int j=0; j<16; j++)
     {
      k[j] =this->MyserialPort->ReadByte();
     }
     this->textBox5->Text = System::Convert::ToString(k[0]);
     this->textBox6->Text = System::Convert::ToString(k[1]);
     this->textBox7->Text = System::Convert::ToString(k[2]);
     this->textBox8->Text = System::Convert::ToString(k[3]);
     this->textBox9->Text = System::Convert::ToString(k[4]);
     this->textBox10->Text = System::Convert::ToString(k[5]);
     this->textBox11->Text = System::Convert::ToString(k[6]);
     this->textBox12->Text = System::Convert::ToString(k[7]);
     this->textBox13->Text = System::Convert::ToString(k[8]);
     this->textBox14->Text = System::Convert::ToString(k[9]);
     this->textBox15->Text = System::Convert::ToString(k[10]);
     this->textBox16->Text = System::Convert::ToString(k[11]);
     this->textBox17->Text = System::Convert::ToString(k[12]);
     this->textBox18->Text = System::Convert::ToString(k[13]);
     this->textBox19->Text = System::Convert::ToString(k[14]);
     this->textBox20->Text = System::Convert::ToString(k[15]);

         }
     catch(TimeoutException^){
      this->textBox1->Text="Timeout Exception";
     }
     // Disable the init button
     // the asynchronous operation is done.
     this->button2->Enabled = false;

    // this->ovalShape1->FillColor= Color::Green;
     }
     else
     // give error warning
    this->textBox1->Text="Port Not Opened";
    }

    2014年10月14日 上午 03:56

解答

  • (1) 之前的問題若是已解決, 麻煩請結案

    (2) 如果你有把我的 serialport 系列認真看完, 就會知道這不過就是起個執行緒, 在裡面跑 while 就可以了


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 Ervin6285 2014年10月14日 下午 04:18
    2014年10月14日 上午 03:59

所有回覆

  • (1) 之前的問題若是已解決, 麻煩請結案

    (2) 如果你有把我的 serialport 系列認真看完, 就會知道這不過就是起個執行緒, 在裡面跑 while 就可以了


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 Ervin6285 2014年10月14日 下午 04:18
    2014年10月14日 上午 03:59
  • (1)OK!

    (2)嗯嗯我有看完,只是半懂比較多疑問,經歷這次被激勵了不少但也學到很多

    謝謝版大

    2014年10月14日 下午 01:35