1
我是C++/CLI的新手,我來自使用嵌入式C++的背景。我創建了一個溫度控制塊,可以與PC進行通信以設置/讀取溫度。如何獲取Timer Tick事件以中斷另一個函數C++/CLI
我正在嘗試創建一個循環不同溫度的程序,並以1秒爲間隔讀取讀數。我使用了一個「Forms Timer」,它應該每秒觸發一次,並創建一個類似於嵌入式C中的「事件」,以便「中斷」我的BtnTestTemp_Click()函數。
private: System::Void LogTempTimer_Tick(System::Object^ sender, System::EventArgs^ e) {
GetTemp_Click(sender, e);
tempreadingNb++;
}
private: System::Void BtnTestTemp_Click(System::Object^ sender, System::EventArgs^ e) {
//SET TO ROOM TEMP
this->TempSet->Text = "2500";
SetTemp_Click(sender, e);
//WAIT UNTIL 2500 +/- 1
while ((currenttemp > 2600)||(currenttemp < 2400)) {}
}
當不在我BtnTestTemp_Click()函數,定時器工作正常,我可以看到它調用LogTempTimer_Tick()事件的每一秒。然而,坐在我while循環時:
while ((currenttemp > 2600)||(currenttemp < 2400)) {}
的LogTempTimer_Tick()函數,不會被調用當前的溫度永遠不會更新。
爲什麼在其他功能期間不觸發該事件?我該怎麼做才能讓它「中斷」其他功能?
謝謝。