2012-03-27 38 views
0

我正在嘗試使用iPhone進行某種測量,並且需要每mSec(或更早)觸發的事件,此事件將打開/關閉LED。iPhone定時器頻率

我已經嘗試了幾個選項,使這項工作沒有任何成功。如果我使用NSTImer事件,我可以達到的最大頻率是100Hz左右。

如果我在一個簡單的for循環中打開/關閉LED,頻率會變成300Hz,但似乎是最大的。此外,它不是純粹的週期性的,發生了上下文切換,並且我在稍後得到控制權。

我也嘗試過使用Mach API,但沒有運氣。你認爲是否有可能以1KHz左右的頻率打開/關閉LED?

回答

2

NSTimer具有您發現的有限分辨率。

應用程序並非設計成實時系統,系統進程可能(而且確實)會不時發生,這可能會定期延遲處理(內存警報,系統功能等)。這些可能不會以通常應用程序的明顯方式表現出來,但如果您試圖做一些強烈的循環,那麼您會更頻繁地觀察它們。

+0

聽起來像沒有可能的方式來完成我喜歡做的事情.. – user4749 2012-03-27 14:05:04