背景:我有一個IOIO用於測量光電二極管的輸出,這是轉換成數字輸出。我需要找到信號在1和0之間變化的頻率。到目前爲止,我嘗試過的所有內容都會掛起我的測試應用程序,有什麼建議嗎?來自二進制輸入的頻率
當前代碼:
if(diode == 1 && frequencyFound == false){
startTime = System.currentTimeMillis();
while((frequencyFound == false)){
if(diode == 0){
while(frequencyFound == false){
if(diode == 1){
double endTime = System.currentTimeMillis();
time = endTime - startTime;
frequency = (long) (1.0/time);
frequencyFound = true;
}
Thread.sleep(100);
}
}
Thread.sleep(100);
}
}
難道你不需要做一些事情來真正地採樣二極管的值嗎? –
上面的代碼在UI線程中執行(=沒有創建'AsyncTask'或其他類型的'Thread'來執行該代碼)?這將解釋你的應用程序掛起。 – zapl