Частота таймера iPhone - PullRequest
       1

Частота таймера iPhone

0 голосов
/ 27 марта 2012

Я пытаюсь использовать iPhone для какого-либо измерения, и мне нужно событие, которое запускает каждый мсек (или раньше), это событие будет включать / выключать светодиод.

Я попробовал несколько вариантов, чтобы сделать эту работу безуспешно. Если я использую событие NSTImer, максимальная частота, которую я могу достичь, составляет около 100 Гц.

Если я включаю / выключаю светодиод в простой петле, частота возрастает до 300 Гц, но это, кажется, максимум. Кроме того, это не является чисто периодическим, происходит переключение контекста, и я возвращаю управление намного позже.

Я также экспериментировал с Mach API, но не повезло. Как вы думаете, возможно ли даже включить / выключить светодиод на частоте около 1 кГц.

1 Ответ

2 голосов
/ 27 марта 2012

NSTimer имеет ограниченное разрешение, как вы обнаружили.

Приложения не предназначены для систем реального времени, и системные процессы могут (и происходят) время от времени, что может периодически задерживать обработку (оповещения памяти, системные функции и т. Д.). Они могут не проявляться очевидными способами в обычных приложениях, но если вы пытаетесь делать интенсивные циклы, вы будете наблюдать их чаще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...